CN101501775A - 媒体时间线处理基础结构 - Google Patents

媒体时间线处理基础结构 Download PDF

Info

Publication number
CN101501775A
CN101501775A CNA2006800129463A CN200680012946A CN101501775A CN 101501775 A CN101501775 A CN 101501775A CN A2006800129463 A CNA2006800129463 A CN A2006800129463A CN 200680012946 A CN200680012946 A CN 200680012946A CN 101501775 A CN101501775 A CN 101501775A
Authority
CN
China
Prior art keywords
media
application program
medium
foundation structure
fragment
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.)
Pending
Application number
CNA2006800129463A
Other languages
English (en)
Inventor
A·V·格里格罗维奇
S·U·拉赫曼
S·B·穆罕默德
G·T·顿巴
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 Corp
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 CN101501775A publication Critical patent/CN101501775A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • G11B27/034Electronic editing of digitised analogue information signals, e.g. audio or video signals on discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/32Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier
    • G11B27/322Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier used signal is digitally coded
    • 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/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments

Abstract

描述了一种媒体时间线处理基础结构。在一实现中,一个或多个计算机可读介质包括计算机可执行指令,这些计算机可执行指令在执行时提供具有应用程序编程界面的基础结构,该应用程序编程界面被配置成从应用程序接受多个片段以供顺序再现。每个片段引用至少一个媒体项以供该基础结构再现,且每个片段由应用程序从媒体时间线取得。

Description

媒体时间线处理基础结构
技术领域
本发明一般涉及媒体,尤其涉及媒体时间线处理基础结构。
背景技术
诸如台式PC、机顶盒、个人数字助理(PDA)等的计算机的用户可访问来自不断增加的各种源的不断增加数量的媒体。例如,用户可与执行多个应用程序的台式PC交互以提供诸如家庭录像、歌曲、幻灯片演示等输出用媒体。用户还可利用机顶盒来接收经广播网络广播到机顶盒的传统电视节目。此外,机顶盒可被配置为个人录像机(PVR),从而用户可将广播内容存储在机顶盒上的存储器内以便于后来回放。此外,用户可与执行多个应用程序使用户可读取和发送电子邮件、玩视频游戏、查看电子表格等的无线电话交互。
由于各种各样的媒体源和各种各样的可用来提供媒体并与之交互的计算机,传统的应用程序和计算机常常被配置成具体地寻址各种特定类型的媒体。例如,在视频游戏控制台上执行以输出视频游戏的应用程序常常被配置成向电视机提供应用程序的输出,而不被配置成提供可由其它计算机和其它设备利用的输出。因此,呈现由诸如计算机和/或应用程序的不同媒体源提供的内容可涉及时间和设备密集的多个应用程序和设备。此外,在同一计算机上执行的多个应用程序可被配置成具体地寻址由各相应应用程序提供的特定类媒体。例如,第一音频回放应用程序可被配置成输出配置为歌曲的媒体。但是,第二音频回放应用程序可被配置成以与第一音频回放应用程序不兼容的音频格式,诸如音频命令(audio-dictation)格式来记录和回放录音节目。因而,甚至被配置成在同一计算机上执行的应用程序和例如音频的相同类型媒体可提供彼此不兼容的媒体。
时间线向用户提供定义媒体呈现的方法。例如,媒体播放器可播放通常称为“播放列表”的一歌曲列表。然而,传统的时间线受到各种各样的媒体源和可用来提供媒体并与之交互的各种各样的计算机配置限制。当需要输出例如不同类型的媒体时,每个应用程序需要“理解”每种类型的媒体,诸如如何再现特定类型的媒体。这可导致计算机硬件和软件资源的低效使用。
因此,持续需要提供用于处理媒体时间线的经改进技术。
发明内容
描述了媒体时间线处理基础结构。在一实现中,描述了一种执行应用程序以从媒体时间线导出多个片段的方法。该媒体时间线引用多个媒体,而每个片段引用在该片段持续期间要再现的媒体。应用程序被执行以使供基础结构再现的多个片段排队。
在另一实现中,一个或多个计算机可读介质包括在执行时提供具有一应用程序编程界面的基础结构的计算机可执行指令,该应用程序编程界面被配置成从应用程序接受多个片段用于顺序再现。各个片段引用供基础结构再现的至少一个媒体项,并且是该应用程序从媒体时间线取得的一个片段。
附图说明
图1是计算机提供对多个媒体的访问的一示例性实现中环境的示图。
图2是一示例性实现中系统的高级框图,在该示例性实现中用软件实现的系统包括与媒体基础交互以控制多个媒体的呈现的应用程序。
图3是示出在图2的应用程序、定序器源和媒体会话之间交互的系统的一示例性实现的示图。
图4是其中媒体时间线被示为包括提供媒体输出以便呈现的多个节点的树形结构的一示例性实现的示图。
图5是示出顺序节点和作为顺序节点的子节点的多个叶节点的一示例性实现示图。
图6是示出并行节点和作为并行节点的子节点的多个叶节点的一示例性实现的示图。
图7是示出应用程序与媒体会话和定序器源交互以使配置为播放列表的媒体时间线再现的一示例性实现中过程的流程图。
图8是示出在指定时段上第一和第二媒体的输出的一示例性实现的示图,该输出利用在第一和第二媒体之间转换的效果。
图9是适于实现图8的匀滑转换效果的一示例性实现中媒体时间线的示图。
图10是示出应用程序从图9的媒体时间线导出的多个片段以供媒体时间线处理基础结构再现的一示例性实现的示图。
图11是示出应用程序将媒体时间线分段成多个拓扑以供媒体时间线处理基础结构再现的一示例性实现中过程的流程图。
图12是一示例性操作环境的示图。
图13是示出包括由通过ASX文件扩展名标识的Windows媒体播放器列表文件所述的一个顺序节点和三个叶节点的媒体时间线的一示例性实现的示图。
图14是示出包括具有由可执行时间语言(XTL)文件所述的两个子顺序节点的一并行节点的媒体时间线的一示例性实现的示图。
相同的标号在所有公开内容和附图中用来引用相似的组件和特征。
具体实施方式
纵览
描述了一种媒体时间线处理基础结构。媒体时间线向用户提供基于媒体,诸如现有媒体(例如,诸如视频、歌曲、文档等已存储媒体)和/或从诸如流式音频和/或视频的媒体源“实时”输出的媒体定义呈现的技术。该媒体时间线可被用来表达媒体的分组和/或组合,并提供由媒体时间线处理基础结构使用的构成元数据,该基础结构执行(例如再现)由媒体时间线引用的媒体以提供最终呈现。
不同的多媒体应用程序可具有用于处理媒体集的不同媒体时间线对象模型。例如,媒体播放器可使用播放列表来按顺序播放媒体。另一方面,编辑应用程序可使用被配置为情节串连板的媒体时间线来编辑该媒体的呈现。另一个应用程序可使用基于事件的时间线,而媒体回放基于特定事件在各条目之间跳跃。因此,可遇到各种各样的媒体时间线对象模型,这些对象模型彼此不同从而每个应用程序可具有它自己的定制媒体时间线方案。
在一实现中,描述了一种媒体时间线处理基础结构,它向应用程序提供“基础级”支持,使应用程序可再现对应用程序特定的媒体时间线。例如,该媒体时间线处理基础结构可被配置成允许应用程序能将不随时段改变的媒体片段排队,但让基础结构自身“断定”如何再现片段。在另一示例中,媒体时间线处理基础结构被配置成允许应用程序在再现片段期间删除或更新“正在进行”的片段,且该基础结构按需处理更新该片段再现的所有细微差别。因而,与媒体时间线处理基础结构相接触的应用程序仅需通过将媒体时间线转换成媒体时间线处理基础结构所理解的片段序列,集中于该应用程序的特定媒体时间线对象模型的特性。
在以下讨论中,首先描述可用来采用媒体时间线处理基础结构的一示例性环境。然后描述可在该示例性环境以及其它环境中操作的示例性过程。
示例性环境
图1是计算机102提供对多个媒体的访问的一示例性实现的环境100的示图。如图所示,计算机102被配置为个人计算机(PC)。计算机102还可采取各种其它配置,诸如移动站、娱乐设施、与显示设备通信耦合的机顶盒、无线电话、视频游戏控制台、个人数字助理(PDA)等。因而,计算机102的范围可从具有相当存储器和处理器资源的全资源设备(例如PC、装有硬盘的电视录像机)到具有有限存储器和/或处理资源的低资源设备(例如传统机顶盒)。计算机102的另外实现相关于图12进行描述。
计算机102可从各种媒体源中获得各种媒体。例如,计算机102可本地地存储多个媒体104(1)、…、104(k)、…、104(K)。该多个媒体104(1)-104(K)可包括具有诸如WMV、WMA、MPEG1、MPEG2、MP3等各种格式的音频和视频内容的分类。此外,媒体104(1)-104(K)可从各种源获得,诸如从输入设备、应用程序的执行等等。
计算机102例如可包括多个应用程序106(1)、…、106(n)、…、106(N)。多个应用程序106(1)-106(N)的一个或多个可被执行以提供诸如文档、电子表格、视频、音频等的媒体。此外,多个应用程序106(1)-106(N)的一个或多个可被配置成提供媒体交互,诸如媒体104(1)-104(K)的编码、编辑、和/或回放。
计算机102还可包括多个输入设备108(1)、…、108(m)、…、108(M)。多个输入设备108(1)-108(M)的一个或多个可被配置成提供用于输入到计算机102的媒体。输入设备108(1)例如被示为话筒,它被配置成提供诸如用户语音、音乐会上的歌曲等音频数据的输入。多个输入设备108(1)-108(M)还可被配置成用于用户交互以提供控制多个应用程序106(1)-106(N)的执行的输入。例如,输入设备108(1)可用来输入来自用户的语音命令,诸如启动多个应用程序106(1)-106(N)的特定之一的执行、控制多个应用程序106(1)-106(N)的执行等。在另一示例中,输入设备108(m)被示为键盘,它被配置成提供控制计算机102的输入,诸如调节计算机102的设置。
此外,计算机102可包括多个输出设备110(1)、…、110(j)、…、110(J)。输出设备110(1)-110(J)可被配置成再现媒体104(1)-104(K)以向用户输出。例如,输出设备110(1)被示为用于再现音频数据的扬声器。输出设备110(j)被示为诸如电视机的显示设备,它被配置成再现音频和/或视频数据。因而,多个媒体104(1)-104(K)的一个或多个可由输入设备108(1)-108(M)提供并由计算机102本地存储。尽管多个输入和输出设备108(1)-108(M)、110(1)-110(J)被分别地示出,但输入和输出设备108(1)-108(M)、110(1)-110(J)的一个或多个可被组合成单个设备,诸如具有输入用按钮、显示设备和扬声器的电视机。
计算机102还可被配置成经由网络112通信以获得在网络112上远程可用的媒体。网络112被示为因特网,并可包括各种网络,如内联网、有线或无线电话网络、广播网络和其它广域网。远程计算机114与网络112通信耦合,从而远程计算机114可向计算机102提供媒体。例如,远程计算机114可包括一个或多个应用程序以及提供诸如家庭影院的媒体的摄影机116。该远程计算机114还可包括输出媒体的输出设备,诸如所示的显示设备118。由计算机102经由网络112从远程计算机114获得的媒体可与媒体104(1)-104(K)一起本地存储。换言之,媒体104(1)-104(K)可包括经由网络112从远程计算机114获得的媒体的本地存储副本。
因而,计算机102可获得并存储多个媒体104(1)-104(K),这些媒体104(1)-104(K)可在本地提供(例如通过执行多个应用程序106(1)-106(N)和/或使用多个输入设备108(1)-108(M)),并且从远程计算机114远程地提供(例如通过执行应用程序和/或使用输入设备)。尽管多个媒体104(1)-104(K)已被描述为存储在计算机102上,但媒体104(1)-104(K)也可“实时”地提供。例如,音频数据可从被示为话筒的输入设备108(1)中流入而无需存储该音频数据。
计算机102被示为包括媒体时间线120。如前所述,媒体时间线120向用户提供一种从多个媒体源呈现所存储的和/或实时的媒体的技术。例如,媒体时间线120可描述从输入设备108(1)-108(M)、应用程序106(1)-106(N)、和/或远程计算机114中获得的媒体集合。例如用户可利用输入设备108(1)-108(M)的一个或多个来与应用程序106(n)交互,以定义媒体104(1)-104(K)的分组和/或组合。用户还可定义呈现媒体104(1)-104(K)的顺序和效果。定序器源122然后可在计算机102上执行以再现媒体时间线120。该媒体时间线120在再现时提供媒体104(1)-104(K)的经表达分组和/或组合,以供多个输出设备110(1)-110(J)的一个或多个再现。定序器源122的执行的进一步讨论可相对以下附图进行。
图2是一示例性实现中系统200的高级框图,在该实现中用软件实现的系统200包括与媒体基础204交互以控制多个媒体206(g)的呈现的应用程序202,其中g是从1到“G”的任意数字。媒体基础204可作为操作系统的一部分包括在内以提供媒体206(g)的回放,从而与操作系统交互的应用程序可在不“知道”如何再现媒体的特定细节的情况下控制媒体206(g)的回放。因而,媒体基础204可提供媒体时间线处理基础结构的一部分以处理应用程序202的媒体时间线120。媒体206(g)可通过执行应用程序106(1)-106(N)、使用输入设备108(1)-108(M)、输出设备110(1)-110(J)等从各种源提供,诸如从图1的媒体104(1)-104(K)提供。
可与图1的应用程序106(1)-106(N)相同或不同的应用程序202与媒体引擎208交互以控制媒体104(1)-104(K)。在至少一些实施例中,媒体引擎208用作想要一定程度地参与呈现的应用程序202的中心焦点。在本文档中使用时,呈现意指或描述媒体的处理。在所示和所述的实施例中,呈现用于描述媒体引擎208对之执行操作的数据格式。因而,呈现可导致诸如多媒体呈现的可视和/或可听呈现媒体,在该多媒体呈现中音频和所伴随的视频在诸如图1的被示为可与台式PC相关联的显示设备的输出设备110(j)的显示设备上再现的窗口内向用户呈现。呈现也可导致将媒体内容写入诸如盘文件的计算机可读介质。因而,呈现并不限于多媒体内容在计算机上再现的情形。在一些实施例中,诸如解码、编码和各种变换(诸如转换、效果等)的操作可作为呈现的结果而进行。
在一实施例中,媒体基础204揭示可由应用程序202调用以再现媒体206(g)的一个或多个应用程序界面。例如,媒体基础204可被视为存在于在图1的计算机102上执行的软件的“基础结构”层上。换言之,媒体基础204是由应用程序202用来呈现媒体206(g)的软件层。因而,媒体基础204可被用来使每个应用程序202不必对可用于系统200的每类媒体206(g)实现单独代码。这样,媒体基础204提供一组可重复使用的软件组件来实现媒体特定任务。
媒体基础204可使用数个组件,其中包括定序器源122、媒体源210、媒体处理器212、媒体会话214、媒体引擎208、媒体解析器216、一个或多个变换218、一个或多个媒体信宿220、222等。各个所示和所述实施例的一个优点是系统200在各种不同类组件可结合本文所述系统使用的意义上而言是可插入模型。也作为系统200的一部分包括在内是目的文件(destination)224,如下文中更详细地所述。然而,在至少一个实施例中,目的文件224是定义要在哪里(例如窗口、盘文件等)呈现、以及在呈现时要发生什么的对象。即,目的文件可对应于数据流入其中的一个或多个媒体信宿220、222。
媒体时间线被视为应用程序202的一部分。媒体时间线120可用各种方式配置以表达要如何再现多个媒体。例如,媒体时间线可采用向应用程序202的用户提供基于由媒体基础204再现的媒体定义呈现的方法的一个对象模型。例如,媒体时间线120的范围可以是从媒体文件的顺序列表到更复杂的形式。例如,媒体时间线120可采用诸如SMIL和AAF的文件结构来表达包括媒体之间的转换、效果等的媒体回放体验。例如,应用程序202可被配置为可播放通常称为播放列表的歌曲列表的媒体播放器。作为另一示例,在编辑系统中,用户可将一个视频覆盖到另一视频上、剪辑一媒体、向媒体添加效果等等。这样的媒体分组或组合可使用媒体时间线120来表达。对媒体时间线120的讨论相关于图4开始。
媒体源210被用来抽象媒体的供应者。例如,媒体源210可被配置为从一特定源读取特定类型的媒体。例如,一类媒体源可从外部世界(例如相机)捕捉视频,而另一类媒体源则可捕捉音频(例如话筒)。或者或此外,媒体源210可从盘中读取经压缩的数据流,并将该数据流分成其经压缩视频和经压缩音频成分。又一种媒体源210可从图1的网络112中获取数据。因而,媒体源210可用来提供获取媒体的一致界面。
媒体源210提供一个或多个媒体呈现226对象(媒体呈现)。媒体呈现226抽象相关媒体流集的描述。例如,媒体呈现226可提供影片的成对音频和视频流。此外,媒体呈现226可描述媒体源210在给定时间点的配置。例如,媒体呈现226可包含有关媒体源210的信息,包括媒体源210的可用流及其例如音频、视频、MPEG等媒体类型的描述。
媒体源210也可提供可表示来自媒体源210的单个流的媒体流228对象(媒体流),该媒体源210可由应用程序202访问,即展现给应用程序202。媒体流228因而允许应用程序202检索媒体206(g)的样本。在一实现中,媒体流228被配置成提供单个媒体类型,而定序器源122可被用来提供多媒体类型,其进一步的讨论相关于图3进行。媒体源可提供一个以上媒体流。例如,wmv文件可在同一文件中具有音频和视频。该文件的媒体源因此将提供两个流,一个为音频而另一个为视频。因此,在媒体基础204中,媒体源210表示输出呈现用样本的软件组件。
定序器源122被配置成从应用程序202接收片段,该应用程序202然后使这些片段在媒体会话214上排队以使这些片段再现。因而,定序器源122可用来隐藏再现媒体时间线120的错综复杂,以从媒体基础204的其它组件提供由媒体时间线120描述的媒体。
例如,由定序器源122接收的片段可用来从应用程序202所接收的片段创建一拓扑230。该拓扑230定义对于一给定呈现数据如何流过各个组件。“全”拓扑包括用来处理数据使数据在不同组件之间有正确格式转换的情况下流动的每个组件,例如软件模块。定序器源122与媒体会话214交互,媒体会话214处理连续拓扑之间的“切换”以供媒体处理器212再现。例如,定序器源122可在媒体会话214上使拓扑230“排队”以供再现。定序器源122、应用程序202和媒体会话214的交互的进一步讨论可相关于图3进行。
当创建了一拓扑时,用户可选择部分地创建之。但是该部分拓扑本身不足以提供最终呈现。因此,称为拓扑载入器232的组件可取得该部分拓扑,并通过在部分拓扑中添加各组件之间的适当数据换算变换将其转换成全拓扑。
例如,在拓扑230中,数据一般源自媒体源210、流过一个或多个变换218、并进入一个或多个媒体信宿220、222。变换218可包括通常用于呈现中的任何适当数据处理组件。这些组件可包括以本领域技术人员所理解的某方式(诸如向数据添加一效果)经解压缩的压缩数据和/或对数据进行操作的组件。例如,对于视频数据,变换可包括影响亮度、色彩转换、以及调整大小等的变换。对音频数据,变换可包括影响混响和重复采样的变换。此外,解码和编码也可通过变换进行。
媒体信宿220、222通常与一特定类媒体内容相关联。因而,音频内容可具有诸如音频再现器的相关联音频信宿。类似地,视频内容可具有诸如视频再现器的相关联视频信宿。其它的媒体信宿可向诸如计算机可读媒体(例如盘文件等)发送数据,经由网络流动数据,诸如广播无线电节目等。
媒体会话214是可安排多个呈现时间的组件。因此,媒体处理器212可用来驱动一给定呈现,而媒体会话214用来安排多个呈现时间。例如,媒体会话214可改变如前所述由媒体处理器212再现的拓扑。例如,媒体会话214可从在媒体处理器212上再现的第一拓扑变成第二拓扑,从而使来自由相应拓扑描述的连续呈现的样本的再现之间没有间隙。因而,媒体会话214可在媒体回放从一个呈现移到另一呈现时提供无缝用户体验。
源解析器216组件可用来从URL和/或字节流对象创建媒体源210。该源解析器216可在不需要有关由指定资源产生的数据形式的现有知识的情况下提供创建媒体源210的同步和异步方法。
在至少一实施例中,媒体基础204用来抽取掉媒体基础204的各个组件的存在及其相互之间交互的具体细节。即,在一些实施例中,看来驻留在媒体基础204内的组件在编程意义上而言对应用程序202不可见。这允许媒体基础204执行所谓“黑箱”会话。例如,媒体引擎208可通过向媒体会话214提供某数据,诸如关联于媒体(例如URL)和目的文件224的信息与该媒体会话交互,并可向媒体会话214转发应用程序202的命令(例如打开、开始、停止等)。该媒体会话214然后取得所提供的信息,并使用适当的目的文件创建适当的呈现。因而,媒体基础204可展现多个软件组件,这些软件组件在由应用程序202使用的应用程序编程界面上提供媒体功能。
定序器源122还可用来对特定时间线对象模型写入媒体源。例如,如果影片播放器具有用来表示其时间线的专用文件格式,则该影片播放器可使用定序器源122来创建将向媒体基础204再现其呈现的“独立”媒体源。因此,使用媒体基础204的应用程序然后可在播放任意其它媒体文件时直接播放影片播放器的文件。
此外,媒体基础204允许第三方基于其扩展名、模式、报头等注册一特定文件类型。例如,该第三方可注册理解该文件格式的称为“字节流插件”的对象。因此,当发现该特定格式的文件时,它创建所注册的字节流插件,并请求其创建可从该文件取得媒体样本的媒体源。继续前面的示例,影片播放器可为其特定文件类型注册一字节流插件。当调用该字节流插件时,它可解析媒体时间线并“了解”形成该呈现的拓扑。该插件然后可在定序器源上使这些拓扑排队,并依赖该定序器源连续回放这些拓扑。对于应用程序202,这看起来类似于文件的任一其它媒体源被给予媒体基础204,并且就像正常的音频或视频文件一样回放。
图3是示出在图2的应用程序202、定序器源122和媒体会话214之间交互的系统300的一示例性实现的示图。如图3所示,应用程序202可与定序器源122和媒体会话214接触以使该媒体时间线120再现。
系统的箭头示出数据、控制和状态如何在系统300的组件之间流动。例如,应用程序202被视为与媒体会话214接触。箭头302表示控制信息通过应用程序编程界面从应用程序202到媒体会话214的传送。各种控制信息可由应用程序202传送到媒体会话214,诸如在媒体会话214上“设置”拓扑、调用“开始”以启动设定拓扑的再现、调用“停止”以终止设定拓扑的再现等等。箭头304表示状态信息从媒体会话214到应用程序202的流动,诸如确认拓扑已被设置、“开始”或“停止”调用已被实现、媒体会话214对拓扑的再现的当前状态等等。
应用程序202也被示为与定序器源122接触。箭头306表示部分拓扑从应用程序202到定序器源122的传送,而箭头308表示状态信息从定序器源122到应用程序202的传送。例如,如前所述,应用程序202可分割媒体时间线120,并使各片段在定序器源122上排队以供再现。定序器源122然后可起动事件以通知媒体处理器和媒体会话:新的呈现可用于再现。这些呈现然后可由会话拾取、解析并排队等候,以在一旦当前呈现的再现已完成时给予处理器,其进一步的讨论可相关于图4进行。
定序器源122也可被媒体会话214视为媒体源。例如,定序器源122可在媒体会话214上设置一拓扑,它指定媒体源是定序器源122。定序器源122然后可集聚来自多个媒体源(例如媒体源210(1)、210(2))的媒体,并将来自媒体源的媒体提供给媒体处理器212。在一实现中,定序器源122可集聚不同类型的媒体并使该媒体显现为单个媒体源。例如,样本可从媒体源210(1)、210(2)直接流至媒体处理器,并从媒体处理器流至媒体会话以给予比特泵(bitpump),如箭头310-314所示。定序器源122可对媒体源210(1)、210(2)所接收的样本加以时戳,并向媒体处理器212提供这些样本以供并发再现。定序器源122也可控制媒体源210(1)、210(2)的操作,这在图3中分别如箭头316、318所示。也可预期各种各样的其它示例。
媒体会话214也可被执行以控制定序器源122的操作,如箭头320示为控制信息从媒体会话214到定序器源122的流动。例如,媒体会话214可接收“开始”调用以开始再现一拓扑。该拓扑可指定定序器源122为拓扑中的媒体源。因此,媒体处理器212在再现该拓扑时可在定序器源122上调用“开始”以提供在拓扑中呈现的样本。在该实例中,定序器源122还在媒体源210(1)、210(2)上调用“开始”,然后向媒体会话214返回经集聚和加以时戳的样本。因而,在该实例中,媒体会话214并不“觉察”定序器源122在提供来自多个其它媒体源的样本。在讨论了可使用基础结构处理的各种示例性媒体时间线之后,对媒体时间线120再现的进一步讨论可相关于图7进行。
媒体时间线
图4是媒体时间线400被视为包括描述媒体输出以供呈现的多个节点的树的一示例性实现的示图。可对应于或可不对应于图1和2的媒体时间线120的该媒体时间线400被构建为包括多个节点402-412的树。多个节点402-412各自包括相应的元数据412-422,这些元数据描述节点和/或该特定节点的“子节点”的各个属性和行为。例如,节点404和节点406被分别安排为“父”和“子”。节点404包括描述该节点404的行为和属性的元数据416。元数据416也可描述各个“子”节点406、408,诸如节点406、408的再现顺序。
在一实现中,媒体时间线400本身不可执行以作出有关用户界面(UI)、回放或编辑的决定。相反,媒体时间线400上的元数据414-424由应用程序202解释。例如,媒体时间线400可包括定义时间线所引用媒体的呈现的一种或多种专用技术。应用程序202可被配置成使用这些专用技术来确定媒体的“回放顺序”,其进一步讨论可相关于图7-11进行。
定位于媒体时间线400上的节点402-412描述了媒体时间线400的基本布局。该布局可用来显示时间线结构。例如,可提供各类节点402-412从而实现期望布局。该节点类型指明如何解释该节点的子节点,诸如根节点402和叶节点408-412。在本实例中根节点402指定用于再现元数据时间线400的起始点,并包括描述如何启动再现的元数据414。
在图4的所示实现中,媒体时间线120的叶节点408、410、412直接映射到媒体。例如,叶节点408、410、412可具有描述如何检索各叶节点408-412所代表的媒体的相应元数据420、422、424。叶节点可指定音频和/或视频文件的路径、指向在再现媒体时间线400期间通过编程生成视频帧的组件等等。例如,叶节点408包括具有映射到被配置为话筒的输入设备108(1)的指针426的元数据420。叶节点410包括具有映射到媒体430的地址的指针428的元数据422,该媒体430处于本地地包括在图1计算机102上本地的存储设备432中。叶节点412包括具有映射到网络112上远程计算机114的网络地址的指针434的元数据424。该远程计算机114包括摄影机116,以经由网络112向图1的计算机102提供媒体。因而,在该实现中,时间线400不包括真正的媒体,而是通过使用描述在何处和/或如何定位所引用媒体的指针426、428、434来引用媒体。
节点404、406也可描述媒体时间线400的附加节点。例如,节点404可用来描述节点406、408的执行顺序。换言之,节点404用作“结型”节点以提供其“子节点”的排序和进一步描述。有可用于媒体时间线400的各种“结型”节点,诸如顺序节点和并行节点。图5-6描述顺序和并行节点之后的示例性语义。
图5是其中示出顺序节点502和作为该顺序节点502的子节点的多个叶节点504、506、508的一示例性实现500的示图。该顺序节点502的子节点一个接一个地再现。此外,顺序节点502可包括描述多个叶节点504-508的再现顺序的元数据510。如图所示,首先再现叶节点504,然后再现叶节点506,接着再现叶节点508。每个叶节点504-508包括具有指向相应媒体524、526、528的相应指针518、520、522的相应元数据512、514、516。因而,顺序节点502可表示线性文件列表的功能。
尽管顺序节点502的子节点在本实现中被配置为叶节点,但顺序节点502的子节点可表示任何其它类型的节点。例如,子节点可用来提供如图4所示的复杂树形结构。例如,图4的节点406是另一结型节点,即节点404的子节点。
图6是其中并行节点602包括指定示出作为并行节点602的子节点的多个叶节点606、608的元数据604的一示例性实现600的示图。在相关于图5所述的前面实现中讨论了顺序节点,其中一个接一个地再现作为顺序节点的子节点的节点。为了同时提供节点的再现,可采用并行节点602。
并行节点602的子节点可同时再现。例如,叶节点606和叶节点608是并行节点602的子节点。各个叶节点606、608包括具有指向相应媒体618、620的相应指针614、616的相应元数据610、612。各个叶节点606、608包括在指定何时再现相应叶节点606、608的相应元数据610、612中所包括的相应时间622、624。叶节点606、608上的时间622、624与并行节点602即父节点相关。各个子节点可表示任何其它类型的节点和节点组合,从而提供具有组合功能的复杂树形结构。例如,“结型”节点也可引用媒体等。尽管已描述了包括时间数据的元数据,但各种元数据可被包括在媒体时间线的节点上,其一个示例在以下实现中描述。
尽管媒体时间线的一些示例已相关于图4-6进行了描述,但可使用所述基础结构处理各种其它媒体时间线而不背离本发明精神和范围。
示例性过程
以下讨论描述可使用前述系统和设备实现的处理技术。每个过程的各方面可用硬件、固件、或软件、或其组合来实现。这些过程被示为指定由一个或多个设备执行的操作的一组框,并且不必限于由相应框示出的执行操作的顺序。在以下讨论的各个部分中,将参考图1-6的环境、系统和时间线。
图7是示出其中应用程序与媒体会话和定序器源交互以使配置为播放列表的媒体时间线得以再现的一示例性实现中的过程700的流程图。一应用程序创建定序器源(框702)和媒体会话(框704)。例如,该应用程序可对媒体基础204的API作出“创建”调用。
应用程序对媒体时间线的每个片段创建一部分拓扑(框706)。例如,在该实现中媒体时间线被配置为播放列表,它可由图5的包括顺序节点502和多个叶节点504-508的媒体时间线500表示。如前所述,每个叶节点504、506、508包括引用相应媒体项524、526、528的相应指针518、520、522。
应用程序然后对媒体时间线的顺序节点的一个或多个叶节点创建一个部分拓扑(框706)。例如,在该实施例中,媒体时间线120是引用要按顺序播放(一个媒体项接另一个媒体项)的媒体的播放列表。因此,每个叶节点是表示用于回放媒体时间线的部分拓扑的媒体时间线120。在另一示例中,如果时间线指定两个叶节点之间的匀滑转换,则将存在这样的拓扑,其中在匀滑转换期间使用两个叶节点的拓扑。在第一示例中,可对叶节点的小段持续时间指定效果。例如,如果叶节点表示10秒长的媒体并且时间线指定该叶节点的最后5秒的淡出效果,则这将导致两个拓扑,第一个不包括该效果而第二个包括该效果。
应用程序使这些拓扑在定序器源上排队(框708),且最后一个拓扑被标记为“结束”(框710)。例如,标记可被设置在最后一个拓扑上使得该定序器源在再现该“带标记”拓扑之后结束回放。
然后从定序器源创建呈现描述符(框712)。该呈现描述符描述将要再现的媒体流对象(下文中称为“媒体流”)。如前所述,媒体流是产生/接收媒体样本的对象。媒体源对象可产生一个或多个媒体流。因此,呈现描述符可描述这些流的性质,诸如各个流的位置、格式等。
然后应用程序从定序器源获得与呈现描述符相对应的拓扑(框714)。例如,应用程序可将该呈现描述符传送给定序器源,并接收与呈现描述符相对应的拓扑。在另一示例中,定序器源可在媒体会话上“设置”拓扑。此外,所获拓扑可用各种方法配置。例如,所获拓扑可以是通过图2的拓扑载入器232解析成全拓扑的部分拓扑。在又一示例中,定序器源122可结合拓扑载入器的功能以将部分拓扑解析成之后将由媒体会话214获得的全拓扑。也可预期各种其它示例。
然后在媒体会话上设置拓扑(框716)。例如,媒体会话214可包括拓扑队列,从而各拓扑可依次一个接一个地再现,而不会在拓扑再现之间遇到“间隙”。因此,应用程序可调用媒体会话来“设置”排队拓扑中要再现的第一个,并调用媒体会话上的“开始”来开始再现(框718)。
在再现期间,应用程序可“收听”媒体会话事件(框720)。例如,应用程序202可从媒体会话214接收状态事件,如图3的箭头304所示。应用程序然后可确定是否接收到了“新拓扑”事件(判定框722)。若否(从判定框得到“no”),则该应用程序可继续“收听”该事件。
当接收到“新拓扑事件”(从判定框得到“yes”),则对新拓扑获得呈现描述符(框724)。获得来自定序器源的与呈现描述符相对应的拓扑(框714),并且对新拓扑重复过程700的一部分(框714、716、720-724)。这样,应用程序202、定序器源122和媒体会话214可提供播放列表的顺序回放。然而,在一些实例中,描述了涉及多个媒体源和复杂拓扑的并行再现。在这样的一个实例中可采用类似的功能,其进一步讨论可相关于以下附图进行。
图8是示出在指定时段上第一和第二媒体的输出800的一示例性实现的示图,该输出利用在第一和第二媒体之间转换的效果。在所示示例中,A1.asf 802和A2.asf804是两个不同的音频文件。A1.asf 802的输出长度为20秒,而A2.asf 804的输出长度也为20秒。匀滑转换效果806在A1.asf 802和A2.asf 804之间定义。换言之,匀滑转换806被定义为从A1.asf 802的输出转换到A2.asf 804的输出。匀滑转换效果806在10秒时开始进入A1.asf 802的输出,并在A1.asf 802的输出结束时终止。因此,A2.asf 804的输出也在10秒时开始。匀滑转换806被示为输入两个不同的媒体,即A1.asf 802和A2.asf 804,并提供具有预期效果的单一输出。
图9是适于实现图8的匀滑转换效果806的一示例性实现的媒体时间线900的示图。媒体时间线900包括一具有两个子节点,即叶节点904、906的并行节点902。该并行节点902包括指定0秒的起始时间908和20秒的停止时间910的元数据。并行节点902还包括描述匀滑转换的组合效果912。叶节点904包括指定0秒的起始时间914和20秒的停止时间916的元数据。叶节点906包括具有10秒的起始时间918和30秒的停止时间920的元数据。
叶节点904还包括引用相关于图8描述的A1.asf 802文件的指针922。类似地,叶节点906包括引用相关于图8描述的A2.asf 804文件的指针924。因而,当执行媒体时间线900时,A1.asf 802文件和A2.asf 804文件以采用如图8所示的效果912的方式输出。
为了播放(即再现)图9的媒体时间线900,应用程序202导出多个片段,在此期间在片段持续期间再现的分量不作改变,即每个分量在片段持续期间再现且在该片段持续期间不添加或去除分量。图9的媒体时间线900的片段示例在以下附图中示出。
图10是示出由应用程序从图9的媒体时间线900中导出的、供媒体时间线处理基础结构再现的多个片段的一示例性实现1000的示图。如前所述,该应用程序可将媒体时间线900分割成多个拓扑,以供媒体时间线处理基础结构再现。在一实现中,每个片段描述其分量的再现不在该片段持续时间改变的拓扑。
例如,图9的媒体时间线900可被分成多个片段1002、1004、1006。片段1002指定在从“0”到“10”的时段之间音频文件A1.asf 802被再现给媒体信宿1008。片段1004描述将匀滑转换效果806施加到在从“10”到“20”的时段期间发生的在音频文件A1.asf 802和音频文件A2.asf 804的输出之间的转换。因此,在片段1004中示出的拓扑将来自音频文件A1.asf 802的输出和来自音频文件A2.asf 804的输出示为提供给匀滑转换效果806,然后其输出被提供给媒体信宿1008。片段1006描述在从“20”到“30”的时段期间音频文件A2.asf 804的再现(即播放)。为了播放图9的媒体时间线900,应用程序202使在片段1002-1006中示出的拓扑排队以由媒体会话214再现,其进一步的讨论可相关于以下示例性过程进行。
图11是示出应用程序将媒体时间线分割成多个拓扑以供媒体时间线处理基础结构再现的一示例性实现中的过程1100的流程图。应用程序接收一再现媒体时间线的请求(框1102)。例如,应用程序可被配置为媒体播放器。该媒体播放器可输出具有多个供用户选择的播放列表的用户界面(例如图形用户界面)。因此,用户可与用户界面交互以选择多个播放列表中要由应用程序输出的一个。
然后应用程序从媒体时间线中导出多个片段(框1104)。例如,应用程序可确定在再现媒体时间线达一特定持续时间期间利用哪些分量。然后该应用程序确定该持续时间的引用在片段持续时间不作改变(即在该片段期间不添加或去除媒体项)的媒体项的片段。
一旦已分割了媒体时间线,应用程序就可构建描述多个片段的数据结构(框1106)。例如,该应用程序可将图9的媒体时间线900分割成图10的多个片段1002-1006。这多个片段各自包括用来再现该片段的引用媒体的若干分量的一个拓扑。因此,这些拓扑的每一个可被输入引用再现该媒体所需分量并描述这些分量之间交互的数据结构(例如数组)。例如,片段1004描述一个拓扑,它将来自音频文件A1.asf 802的输出和来自音频文件A2.asf 804的输出定义为提供给匀滑转换效果806,然后其输出被提供给媒体信宿1008。也可预期各种其它示例。
然后应用程序经由应用程序编程界面(API)将该数据结构传递给定序器源(框1108)。如前相关于图7所述,应用程序然后从定序器源获得与呈现描述符相对应的拓扑(框1110)。例如,应用程序可将该呈现描述符传送给定序器源,并接收与该呈现描述符相对应的拓扑。在另一示例中,定序器源可在媒体会话上“设置”该拓扑。此外,所获拓扑能以各种方式配置。例如,所获拓扑可以是由图2的拓扑载入器232解析成全拓扑的部分拓扑。在又一示例中,定序器源122可结合拓扑载入器的功能以将部分拓扑解析成之后将由媒体会话214获得的全拓扑。也可预期各种其它示例。
然后在媒体会话上设置该拓扑(框1112)。例如,媒体会话214可包括拓扑队列,从而各拓扑可依次一个接一个地再现,而不会在拓扑再现之间遇到“间隙”。因此,应用程序可调用媒体会话来“设置”排队拓扑中要再现的第一个,并调用媒体会话上的“开始”来开始再现(框1114)。
在再现期间,应用程序可“收听”媒体会话事件(框1116)。例如,应用程序202可从媒体会话214接收状态事件,如图3的箭头304所示。应用程序然后可确定是否接收到了“新拓扑”事件(判定框1118)。如果没有收到(来自判定框1118的“否”),则应用程序可继续“收听”事件。如果有收到(来自判定框1118的“是”),则获得新拓扑的新呈现描述符(框1120)并重复过程1100的一部分。
各个媒体时间线可由媒体时间线处理基础结构再现。例如,媒体时间线可以是“基于事件”的,从而作者可基于一事件来指定媒体的开始。例如,在时间“中午12点”开始播放音频文件“A1.asf”。这些对象模式可在回放期间使媒体在定序器源上排队,并可删除或更新如前所述已经排队的拓扑。
示例性操作环境
本文中所述的各个组件和功能可用许多单个计算机实现。图12示出计算机环境1200的一典型示例的各个组件,包括由参考标号1202标示的计算机。计算机1202可与图1的计算机102相同或不同。图12所示的组件仅仅是示例,并且并不旨在对本发明的功能范围提出任何限制;本发明并非必然依赖于图12所示的功能部件。
通常,可使用各种不同的通用或专用计算系统配置。适于本发明使用的众所周知的计算系统、环境、和/或配置的示例包括,但不限于,个人计算机、服务器计算机、手持式或膝上型装置、多处理器系统、基于微处理器的系统、机顶盒、可编程消费品电器、网络PC、可用网络设备、小型计算机、大型机、包括任一种以上系统或设备的分布式计算环境等等。
这些计算机的功能在许多情形中由计算机可执行指令,诸如由计算机执行的软件组件实施。一般而言,软件组件包括执行具体任务或实现具体抽象数据类型的例程、程序、对象、组件、数据结构等等。任务也可由经通信网络链接的远程处理装置执行。在分布式计算环境中,软件组件可置于本地和远程计算机存储介质中。
指令和/或软件组件在不同时间被存储在作为计算机的一部分或可由计算机读取的各种计算机可读介质中。程序通常分布在例如软盘、CD-ROM、DVD、或某些形式的诸如经调制信号的通信介质上。它们从那里被安装或载入到计算机的辅助存储器中。在执行时,它们至少部分地载入计算机的主要电子存储器中。
为说明起见,程序和诸如操作系统的其它可执行程序组件在本文中被示为分立块,尽管可以理解这些程序和组件在各个时间驻留在计算机的不同存储组件中,并由计算机的数据处理器执行。
参照图12,计算机1202的组件可包括,但不限于,处理单元1204、系统存储器1206、以及将包括系统存储器在内的各种系统组件耦合到处理单元1204的系统总线1208。系统总线1208可以是若干总线结构类型中的任何一种,包括存储器总线或存储器控制器、外围总线、以及使用各种总线架构的任一种的局部总线。作为示例,而非限制,这些架构包括工业标准架构(ISA)总线、微信道架构(MCA)总线、增强型ISA(EISA)总线、视频电子技术标准协会(VESA)局域总线、以及也称为Mezzanine总线的外围部件互连(PCI)总线。
计算机1202通常包括各种计算机可读介质。计算机可读介质可以是能被计算机1202访问的任何可用介质,并包括易失性和非易失性介质、可移动和不可移动介质。作为示例,而非限制,计算机可读介质可包括计算机存储介质和通信介质。“计算机存储介质”包括以任何方法或技术实现、用于存储诸如计算机可读指令、数据结构、软件组件或其它数据等信息的易失性和非易失性介质、可移动和不可移动介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字化多功能光盘(DVD)或其它光盘存储、磁盒、磁带、磁盘存储或其它磁性存储设备、或任何其它可用于存储所需信息并可由计算机1202访问的介质。通信介质通常具体化为诸如载波或其它传输机制的已调制数据信号中的计算机可读指令、数据结构、软件组件、或其它数据,且包括任何信息输送介质。术语“已调制数据信号”意指在信号中用对信息编码的方式设置或改变其一个或多个特征的信号。作为示例,而非限制,通信介质包括诸如有线网络或直线连接的有线介质,和诸如声学、射频、红外线和其它无线介质的无线介质。以上任何介质的组合也应包括在计算机可读介质的范围中。
系统存储器1206包括诸如只读存储器(ROM)1210和随机存取存储器(RAM)1212的易失性和/或非易失性存储器形式的计算机存储介质。包含有助于如起动时在计算机1202的元件间传送信息的基本例程的基本输入/输出系统(BIOS)1214通常存储在ROM 1210中。RAM 1212通常包含可被处理单元1204即时访问和/或当时正被操作的数据和/或软件组件。作为示例,而非限制,图12示出了操作系统1216、应用程序1218、软件组件1220、和程序数据1222。
计算机1202还可包括其它可移动/不可移动、易失性/非易失性计算机存储介质。作为示例,图12图示了读取或写入不可移动、非易失性磁性介质的硬盘驱动器1224,读取或写入可移动、非易失性磁盘1228的磁盘驱动器1226,读取和写入可移动、非易失性光盘1232,诸如CD-ROM或其它光学介质的光盘驱动器1230。其它能用在示例性操作环境中的可移动/不可移动、易失性/非易失性计算机存储介质包括,但不限于,如磁带盒、闪存卡、数字化多功能盘、数字化录像带、固态RAM、固态ROM等等。硬盘驱动器1224通常通过诸如数据介质接口1234的不可移动存储器接口与系统总线1208连接,而磁盘驱动器1226和光盘驱动器1230通常通过可移动存储器接口与系统总线1208连接。
如上所述并如图12所示的驱动器及其相关联的计算机存储介质为计算机1202提供计算机可读指令、数据结构、软件组件、和其它数据的存储。在图12中,例如,硬盘驱动器1224被示为存储操作系统1216’、应用程序1218’、软件组件1220’、和程序数据1222’。注意这些组件可以与操作系统1216、应用程序1218、其它软件组件1220、和程序数据1222相同或不同。在此给予操作系统1216’、应用程序1218’、软件组件1220’、和程序数据1222’的数字不同至少说明它们是不同的副本。用户可通过输入装置如键盘1236、通常是指鼠标、跟踪球或触摸板等的定位装置(未示出)向计算机1202输入命令和信息。其它输入装置(未示出)可包括源外围设备(诸如提供流式数据的话筒1238或相机1240)、游戏杆、游戏垫、卫星接收器、扫描仪等等。这些和其它输入设备常常通过与系统总线耦合的输入/输出(I/O)接口1242与处理单元1204相连,但也可通过诸如并行端口、游戏端口或通用串行总线(USB)的其它接口和总线结构连接。监视器1244或其它类型的显示设备也可通过诸如视频适配器1246的接口与系统总线1208相连。除了监视器1244之外,计算机还可包括其它外围再现设备(例如扬声器)和一个或多个打印机,它们可通过I/O接口1242相连。
该计算机可在使用与一台或多台远程计算机,诸如远程设备1250的逻辑连接的网络化环境中运行。该远程设备1250可以是个人计算机、可用网络设备、服务器、路由器、网络PC、对等装置或其它公共网络节点,而且通常包括上述与计算机1202相关的许多或全部组件。图12中所描绘的逻辑连接包括局域网(LAN)1252和广域网(WAN)1254。尽管图12所示的WAN 1254是因特网,但WAN 1254也可包括其它网络。这样的网络化环境在办公室、企业范围计算机网络和内联网上是常见的。
当用于LAN网络化环境中时,计算机1202通过网络接口或适配器1256与局域网1252连接。当用于WAN网络化环境中时,计算机1202通常包括调制解调器1258或其它用于在因特网1254上建立通信的装置。可以是内置式或外置式的调制解调器1258与系统总线1208通过I/O接口1242或其它适当机制连接。在网络化环境中,所示与计算机1202相关的程序模块或其一部分可存储在远程设备1250中。作为示例,而非限制,图12示出了驻留于远程设备1250中的远程软件组件1260。应当理解,所示网络连接是示例性的,并且也可使用其它用于在计算机间建立通信链接的手段。
如前所述,应用程序1218、1218’也可提供媒体时间线以供图2的媒体基础204再现。媒体时间线的示例性实现可相关于以下附图进行。
示例性媒体时间线实现
先前所述的媒体时间线可采用各种存储和恢复诸如Windows媒体播放器播放列表文件、可执行时间语言(XTL)文件等的一个或多个时间线数据的方法。
例如,媒体时间线可被描述为以下由ASX文件扩展名标识的Windows媒体播放器播放列表文件。
<Asx Version="3.0">
<Entry>
<Ref href="file://\\wmp\content\mpeg\Boom.mpe"/>
</Entry>
<Entty>
<Refhref="\\wmp\content\Formats\MovieFile\chimp.mpg"/>
</Entry>
<Entry>
<Refhref="file://\\wmp\content\mpeg\Boom.mpe"/>
</Entry>
</Asx>该ASX文件指定紧接着输出的三个文件。对于这些文件未指定起始和停止时间。该ASX文件可由图13所示的包括一顺序节点1302和三个叶节点1304、1306、1308的媒体时间线1300表示。叶节点1304-1308各自包括描述要由媒体时间线1300输出的媒体的相应源1316、1318、1320的相应元数据1310、1312、1314。
媒体时间线的另一示例在以下XTL文件中示出:
<timeline>
<group type="video">
               <track>
<clip src="V1.wmv"start="0"stop="30"mstart="50"mstop=”80”
/>
<clip src=”V2.wmv”start=”30”stop=”40”mstart=”0”/>
              </track>
</group>
<group type="audio">
              <track>
<clip src="A1.asf"start="20"stop="40"mstart="0"/>
<clip src=”A2.asf”start=”40”stop=”60”mstart=”0”/>
</track>
</group>
</timeline>
该XTL文件描述用于输出的两个媒体(例如流)的磁轨。磁轨之一为音频磁轨,而另一磁轨为视频磁轨。
该XTL文件可由图14所示的包括具有两个子顺序节点1404、1406的并行节点1402的媒体时间线1400表示。在本示例中,顺序节点1404具有设置为“视频”的主类滤波器1408,而顺序节点1406具有设置为“音频”的主类滤波器1410。顺序节点1404具有两个子叶节点1412、1414。叶节点1412包括指定起始时间1416为“0”、停止时间1418为“30”、媒体起始1420为“50”、以及媒体停止1422为“80”的元数据。叶节点1414包括指定起始时间1424为“30”、停止时间1426为“40”、以及媒体起始1428为“0”的元数据。应当注意,叶节点1414不包括媒体停止时间,因此将输出由叶节点1414引用的媒体的总长度。
顺序节点1406还具有两个子叶节点1430、1432。叶节点1430包括指定起始时间1434为“20”、停止时间1436为“40”、以及媒体起始1438为“0”的元数据。叶节点1432包括指定起始时间1440为“40”、停止时间1442为“60”、以及媒体起始1444为“0”的元数据。
结论
尽管本发明已用专用于结构特征和/或方法动作的语言进行了描述,但可以理解在所附权利要求中定义的本发明并非必须限于所述的具体特征或动作。而是,具体特征和动作被揭示为实现所要求权利的本发明的示例性形式。

Claims (20)

1.一种方法,包括执行一应用程序以:
从媒体时间线导出多个片段,其中:
所述媒体时间线引用多个媒体;以及
每个所述片段引用要在所述片段的持续时间再现的媒体;以及经由应用程序编程界面使所述多个片段排队以供基础结构再现。
2.如权利要求1所述的方法,其特征在于,所述媒体时间线引用至少两个不同类型的媒体。
3.如权利要求1所述的方法,其特征在于,所述应用程序不被配置成再现所述媒体本身。
4.如权利要求1所述的方法,其特征在于,所述应用程序不知道一个或多个所述媒体如何由所述基础结构再现。
5.如权利要求1所述的方法,其特征在于,所述多个片段在一数据结构中排队以供所述基础结构再现,所述数据结构由所述基础结构经由所述应用程序编程界面展现给所述应用程序。
6.如权利要求1所述的方法,其特征在于,所述媒体时间线利用一种或多种专用技术来描述所述媒体时间线,这些专用技术不由所述应用程序展现给所述基础结构。
7.如权利要求1所述的方法,其特征在于,还包括通过所述应用程序与所述基础结构经由所述应用程序编程的交互,改变至少一个所述片段的拓扑同时再现另一个所述片段。
8.如权利要求1所述的方法,其特征在于,还包括经由用户界面接收由所述应用程序输出的再现所述媒体时间线的请求。
9.一种方法,包括:
接收由应用程序再现媒体时间线的请求,其中所述媒体时间线:
包括多个节点;以及
相关于第二所述节点引用的第二媒体定义对第一所述节点引用的第一媒体的呈现;
由所述应用程序从所述媒体时间线导出多个片段,其中每个所述片段包括要在所述片段的持续时间再现的一个或多个节点;以及
由所述应用程序经由应用程序编程界面传递所述多个片段以供基础结构再现,从而所述应用程序不知道一个或多个所述媒体如何由所述基础结构再现。
10.如权利要求9所述的方法,其特征在于,所述多个片段在数据结构中排队以供所述基础结构再现,所述数据结构由所述基础结构经由所述应用程序编程界面展现给所述应用程序。
11.如权利要求10所述的方法,其特征在于,还包括通过所述应用程序与所述基础结构经由所述应用程序编程的交互,改变至少一个所述片段的拓扑同时再现另一个所述片段。
12.如权利要求9所述的方法,其特征在于,所述媒体时间线利用一种或多种专用技术来描述所述媒体时间线,这些专用技术不由所述应用程序展现给所述基础结构。
13.如权利要求9所述的方法,其特征在于,所述应用程序不知道一个或多个所述媒体如何由所述基础结构再现。
14.如权利要求9所述的方法,其特征在于,所述应用程序不被配置成再现所述媒体本身。
15.一个或多个包括计算机可执行指令的计算机可读介质,所述计算机可执行指令在执行时提供具有应用程序编程界面的基础结构,所述应用程序编程界面被配置成从应用程序接受多个片段以供顺序再现,其中每个所述片段:
引用至少一个媒体项以供所述基础结构再现;以及
由应用程序从媒体时间线分割取得。
16.如权利要求15所述的一个或多个计算机可读介质,其特征在于,所述多个片段在数据结构中排队以供所述基础结构再现,所述数据结构经由所述应用程序编程界面展现给所述应用程序。
17.如权利要求16所述的一个或多个计算机可读介质,其特征在于,所述基础结构被配置成接受所述应用程序对至少一个所述片段的拓扑作出的改变,同时再现另一所述片段。
18.如权利要求15所述的一个或多个计算机可读介质,其特征在于,所述所述媒体时间线利用一种或多种专用技术来描述所述媒体时间线,这些专用技术不由所述应用程序展现给所述基础结构。
19.如权利要求15所述的一个或多个计算机可读介质,其特征在于,所述应用程序不知道一个或多个所述媒体如何由所述基础结构再现。
20.如权利要求15所述的一个或多个计算机可读介质,其特征在于,所述应用程序不被配置成再现所述媒体本身。
CNA2006800129463A 2005-04-19 2006-03-16 媒体时间线处理基础结构 Pending CN101501775A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/109,291 2005-04-19
US11/109,291 US20060236219A1 (en) 2005-04-19 2005-04-19 Media timeline processing infrastructure

Publications (1)

Publication Number Publication Date
CN101501775A true CN101501775A (zh) 2009-08-05

Family

ID=37110006

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2006800129463A Pending CN101501775A (zh) 2005-04-19 2006-03-16 媒体时间线处理基础结构

Country Status (9)

Country Link
US (1) US20060236219A1 (zh)
EP (1) EP1883887A2 (zh)
JP (1) JP2008538675A (zh)
KR (1) KR20070121662A (zh)
CN (1) CN101501775A (zh)
AU (1) AU2006237532A1 (zh)
CA (1) CA2600491A1 (zh)
NO (1) NO20074586L (zh)
WO (1) WO2006113018A2 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107103921A (zh) * 2011-04-18 2017-08-29 搜诺思公司 音频的智能线路输入处理
US10965024B2 (en) 2011-07-19 2021-03-30 Sonos, Inc. Frequency routing based on orientation

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7818444B2 (en) 2004-04-30 2010-10-19 Move Networks, Inc. Apparatus, system, and method for multi-bitrate content streaming
US8868772B2 (en) 2004-04-30 2014-10-21 Echostar Technologies L.L.C. Apparatus, system, and method for adaptive-rate shifting of streaming content
US8370514B2 (en) 2005-04-28 2013-02-05 DISH Digital L.L.C. System and method of minimizing network bandwidth retrieved from an external network
US11128489B2 (en) 2017-07-18 2021-09-21 Nicira, Inc. Maintaining data-plane connectivity between hosts
US8285809B2 (en) 2005-12-13 2012-10-09 Audio Pod Inc. Segmentation and transmission of audio streams
US9319720B2 (en) 2005-12-13 2016-04-19 Audio Pod Inc. System and method for rendering digital content using time offsets
US7792153B2 (en) * 2006-05-08 2010-09-07 International Business Machines Corporation Sequencing multi-source messages for delivery as partial sets to multiple destinations
US9865240B2 (en) * 2006-12-29 2018-01-09 Harman International Industries, Incorporated Command interface for generating personalized audio content
US20090125812A1 (en) * 2007-10-17 2009-05-14 Yahoo! Inc. System and method for an extensible media player
US20090106639A1 (en) * 2007-10-17 2009-04-23 Yahoo! Inc. System and Method for an Extensible Media Player
US9843774B2 (en) * 2007-10-17 2017-12-12 Excalibur Ip, Llc System and method for implementing an ad management system for an extensible media player
US8407596B2 (en) * 2009-04-22 2013-03-26 Microsoft Corporation Media timeline interaction
US8423088B2 (en) * 2009-07-22 2013-04-16 Microsoft Corporation Aggregated, interactive communication timeline
US11663235B2 (en) 2016-09-22 2023-05-30 Autodesk, Inc. Techniques for mixed-initiative visualization of data
US20180081885A1 (en) * 2016-09-22 2018-03-22 Autodesk, Inc. Handoff support in asynchronous analysis tasks using knowledge transfer graphs

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2654324B2 (ja) * 1991-12-31 1997-09-17 インターナショナル・ビジネス・マシーンズ・コーポレイション マルチメディア・データ処理システム及びマルチメディア・データ処理システムの動作方法
JP3502196B2 (ja) * 1995-07-11 2004-03-02 松下電器産業株式会社 マルチメディアタイトル再生装置
US6424978B1 (en) * 1997-12-05 2002-07-23 Siemens Corporate Research, Inc. Formatting card-based hypermedia documents by automatic scripting
US20020023103A1 (en) * 1998-04-21 2002-02-21 Rejean Gagne System and method for accessing and manipulating time-based data using meta-clip objects
US6792615B1 (en) * 1999-05-19 2004-09-14 New Horizons Telecasting, Inc. Encapsulated, streaming media automation and distribution system
US6865714B1 (en) * 1999-09-22 2005-03-08 Siemens Corporate Research, Inc. Automatic generation of card-based presentation documents from multimedia data
US7254605B1 (en) * 2000-10-26 2007-08-07 Austen Services Llc Method of modulating the transmission frequency in a real time opinion research network
US7072908B2 (en) * 2001-03-26 2006-07-04 Microsoft Corporation Methods and systems for synchronizing visualizations with audio streams
US7432940B2 (en) * 2001-10-12 2008-10-07 Canon Kabushiki Kaisha Interactive animation of sprites in a video production
US7703044B2 (en) * 2001-11-19 2010-04-20 Ricoh Company, Ltd. Techniques for generating a static representation for time-based media information
US7212574B2 (en) * 2002-04-02 2007-05-01 Microsoft Corporation Digital production services architecture
US20030185301A1 (en) * 2002-04-02 2003-10-02 Abrams Thomas Algie Video appliance
US7739584B2 (en) * 2002-08-08 2010-06-15 Zane Vella Electronic messaging synchronized to media presentation
US7805746B2 (en) * 2003-03-14 2010-09-28 Tvworks, Llc Optimized application on-the-wire format for construction, delivery and display of enhanced television content
JP4430882B2 (ja) * 2003-03-19 2010-03-10 富士通株式会社 複合メディアコンテンツの変換装置及び変換方法並びに複合メディアコンテンツ変換プログラム
US7088374B2 (en) * 2003-03-27 2006-08-08 Microsoft Corporation System and method for managing visual structure, timing, and animation in a graphics processing system
US7173623B2 (en) * 2003-05-09 2007-02-06 Microsoft Corporation System supporting animation of graphical display elements through animation object instances
US20040267778A1 (en) * 2003-06-27 2004-12-30 Microsoft Corporation Media foundation topology application programming interface
JP4134164B2 (ja) * 2003-07-10 2008-08-13 富士通株式会社 メディア再生装置
JPWO2005015899A1 (ja) * 2003-08-11 2007-10-04 松下電器産業株式会社 撮影装置及び撮影方法
US7382965B2 (en) * 2004-07-08 2008-06-03 Corel Tw Corp. Method and system of visual content authoring
US7409464B2 (en) * 2004-10-29 2008-08-05 Nokia Corporation System and method for converting compact media format files to synchronized multimedia integration language

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107103921A (zh) * 2011-04-18 2017-08-29 搜诺思公司 音频的智能线路输入处理
CN107103921B (zh) * 2011-04-18 2020-06-02 搜诺思公司 用于操作回放设备的方法、设备、装置以及媒体回放系统
US10853023B2 (en) 2011-04-18 2020-12-01 Sonos, Inc. Networked playback device
US11531517B2 (en) 2011-04-18 2022-12-20 Sonos, Inc. Networked playback device
US10965024B2 (en) 2011-07-19 2021-03-30 Sonos, Inc. Frequency routing based on orientation
US11444375B2 (en) 2011-07-19 2022-09-13 Sonos, Inc. Frequency routing based on orientation

Also Published As

Publication number Publication date
WO2006113018A3 (en) 2009-04-23
US20060236219A1 (en) 2006-10-19
WO2006113018A2 (en) 2006-10-26
KR20070121662A (ko) 2007-12-27
AU2006237532A1 (en) 2006-10-26
JP2008538675A (ja) 2008-10-30
CA2600491A1 (en) 2006-10-26
EP1883887A2 (en) 2008-02-06
NO20074586L (no) 2007-11-16

Similar Documents

Publication Publication Date Title
CN101501775A (zh) 媒体时间线处理基础结构
CN101164055B (zh) 媒体时间线排序
US8122355B2 (en) Information processing apparatus, information processing method, information processing program and recording medium
CN103414949B (zh) 一种基于智能电视的多媒体编辑系统与方法
US8149701B2 (en) System, method, and computer readable medium for creating a video clip
US8108462B2 (en) Information processing apparatus, information processing method, information processing program and recording medium for storing the program
US8646002B2 (en) System for realistically reproducing multimedia content and method thereof
US7870222B2 (en) Systems and methods for transmitting content being reproduced
US20060277457A1 (en) Method and apparatus for integrating video into web logging
KR100826959B1 (ko) 동영상 제작 방법 및 시스템
JP2009116668A (ja) サーバ装置、クライアント装置、情報処理システム、情報処理方法、プログラム
EP1864229A2 (en) Method and system for providing distributed editing and storage of digital media over a network
US20070188519A1 (en) Information processing apparatus, information processing method, information processing program and recording medium
CN102347046A (zh) 数据产生装置和方法、以及数据处理装置和方法
AU2021282504B2 (en) System and method for production, distribution and archival of content
KR102081019B1 (ko) 융합 교육 관리 시스템 및 그 방법
US7934159B1 (en) Media timeline
JP4129162B2 (ja) コンテンツ作成実演システム及びコンテンツ作成実演方法
US20080196080A1 (en) Display device and method, and program
JP2005056289A (ja) コンテンツ再生装置、コンテンツ管理装置、コンテンツ再生制御システム、コンテンツ再生方法、コンテンツ管理方法、コンテンツ再生制御方法、およびプログラム
JP7429099B2 (ja) サーバ、情報処理方法及びプログラム
EP4322028A1 (en) Data processing apparatuses and methods
KR100503066B1 (ko) 음악 파일 저장 및 재생 장치와 그 방법
WO2008080775A2 (en) Templates and style sheets for audio broadcasts
CN1885292A (zh) 再现装置、再现方法以及再现程序

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Open date: 20090805