会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
首页 / 专利库 / 图形技术 / / 机会主义的帧高速缓存

机会主义的帧高速缓存

阅读:897发布:2021-02-28

IPRDB可以提供机会主义的帧高速缓存专利检索,专利查询,专利分析的服务。并且本发明涉及机会主义的帧高速缓存。通过对用户感兴趣的输入文件的源帧进行解码并高速缓存来实现增强的、高效的源帧解码以供用户预览。首先标识并解码用于用户预览会话的源帧以增强用户对供审阅的更及时的预览片段的满意度。其他源帧继续在进行中解码以便机会主义地增强当前预览片段并且为附加预览片段和/或输出文件生成作好准备。,下面是机会主义的帧高速缓存专利的具体信息内容。

1.一种用于机会主义的源文件帧预览的方法,所述方法包括:

接收对源文件的采样片段的预览请求,其中所述采样片段由所述源文件的一个或多个源帧构成,其中所述源文件的一个或多个源帧被编码(500);

标识所述源文件中包括要为所述采样片段进行代码转换的源帧的代码转换片段(204);

标识所述源文件中要进行代码转换的第一源帧,其中所述第一源帧在所述源文件的代码转换片段中(316);

对所述第一源帧进行代码转换以生成初始经代码转换的帧,其中所述初始经代码转换的帧是从所述源文件中生成的第一经代码转换的帧,并且其中所述初始经代码转换的帧具有用户可辨别的格式(322);

存储所述初始经代码转换的帧(322);

标识所述源文件中的要进行代码转换的一个或多个其他源帧,其中所述一个或多个其他源帧在所述源文件的代码转换片段中(334);

对所述一个或多个其他源帧进行代码转换以生成一个或多个附加经代码转换的帧,其中所述一个或多个源帧中的每一个都在不在所述代码转换片段中的任何源帧进行代码转换之前进行代码转换,并且其中所述一个或多个附加经代码转换的帧中的每一个都具有用户可辨别的格式(322);

存储所述一个或多个附加经代码转换的帧(322);

使用一个或多个经代码转换的帧来生成预览片段,其中所述预览片段表示所述采样片段(576);以及输出(114)所述预览片段(125)。

2.如权利要求1所述的用于机会主义的源文件帧预览的方法,其特征在于,所述源文件(115)是媒体文件(115)。

3.如权利要求1所述的用于机会主义的源文件帧预览的方法,其特征在于,还包括:在对不在所述代码转换片段中的任何源帧进行代码转换之前对所述代码转换片段中的足够数量的源帧进行代码转换,其中所述代码转换片段中的足够数量的源帧是所述代码转换片段中的、当进行代码转换并且之后被包括在所述预览片段中时包括用户将可识别为所述采样片段的预览片段的源帧的集合(330);以及当不存在要根据任何预览请求来进行代码转换的源帧时,对不在用于预览请求的采样片段的代码转换片段中的源帧进行代码转换(346)。

4.如权利要求3所述的用于机会主义的源文件帧预览的方法,其特征在于,当已经为接收到的每一个预览请求(112)对足够数量的源帧(185)进行代码转换时,不存在要根据任何预览请求(112)来进行代码转换的源帧(185),并且其中用于预览请求(112)的足够数量的源帧(185)是代码转换片段(126)中的、当进行代码转换并被包括在预览片段(125)中时包括预定义的最佳质量预览片段的源帧(185)的集合,其中对于所述预览片段(125)不需要其他预览帧(195)。

5.如权利要求3所述的用于机会主义的源文件帧预览的方法,其特征在于,当用于对于接收到的每一个预览请求(112)的每一个采样片段(124)的每一个代码转换片段(126)中的所有源帧(185)都已进行代码转换时,不存在要根据来自用户(110)的任何预览请求(112)来进行代码转换的源帧(185)。

6.如权利要求1所述的用于机会主义的源文件帧预览的方法,其特征在于,还包括:在对不在代码转换片段(126)中所包括的第一代码转换片段(126)中的任何源帧(185)进行代码转换之前对所述代码转换片段(126)中的多个源帧(185)进行代码转换,直到接收到对所述源文件(115)的第二采样片段(124)的第一后续预览请求(112),其中所述第二采样片段(124)包括至少一个与所述采样片段(124)中的源帧(185)不同的源帧(185);

在接收到所述第一后续预览请求(112)时标识所述源文件(115)的第二代码转换片段(126),其中所述第二代码转换片段(126)包括要为所述第二采样片段(124)进行代码转换的源帧(185);

对所述第二代码转换片段(126)中的尚未为所述第一代码转换片段(126)进行代码转换的多个源帧(185)进行代码转换,直到接收到对所述源文件(115)的第三采样片段(124)的第二后续预览请求(112),其中所述第三采样片段(124)包括至少一个与所述第二采样片段(124)中的源帧(185)不同的源帧(185);以及当不存在要根据任何预览请求(112)来进行代码转换的源帧(185)时,对不在用于预览请求(112)的采样片段(124)的代码转换片段(126)中的源帧(185)进行代码转换。

7.如权利要求1所述的用于机会主义的源文件帧预览的方法,其特征在于,还包括:在对不在所述代码转换片段(126)中的任何源帧(185)进行代码转换之前对所述代码转换片段(126)中的足够数量的源帧(185)进行代码转换,其中所述代码转换片段(126)中的足够数量的源帧(185)是所述代码转换片段(126)中的、当进行代码转换并且之后被包括在所述预览片段(125)中时包括用户可识别为所述采样片段(124)的预览片段(125)的源帧(185)的集合;

接收对所述源文件(115)的第二采样片段(124)的第一后续预览请求(112);

在接收到所述第一后续预览请求(112)时标识所述源文件(115)的第二代码转换片段(126),其中所述第二代码转换片段(126)包括要为所述第二采样片段(124)进行代码转换的源帧(185);以及对所述第二代码转换片段(126)中先前没有为所述第一代码转换片段(126)进行代码转换的源帧(185)进行代码转换,直到接收到对所述源文件(115)的第三采样片段(124)的第二后续预览请求(112),其中所述第三采样片段(124)包括至少一个与所述第二采样片段(124)中的源帧(185)不同的源帧(185)。

8.如权利要求1所述的用于机会主义的源文件帧预览的方法,其特征在于,还包括:存储已进行代码转换为经代码转换的帧(192)的每一个源帧(185);

使用经代码转换的帧(192)来生成预览片段(125)中的预览帧(195);

在接收到预览请求(112)后输出(114)预览片段(125);

生成包括标识被包括在预览片段(125)中的经代码转换的帧(192)的信息的决定列表(122);

接收生成输出文件(135)的请求(112);

在接收到生成输出文件(135)的请求(112)后生成输出文件(135),其中生成输出文件(135)包括使用所述决定列表(122)以及一个或多个预览帧(195)来生成所述输出文件(135);

在接收到生成输出文件(135)的请求(112)后对至少一个源帧(185)进行代码转换,其中所述至少一个源帧(185)在接收到生成所述输出文件(135)的请求(112)时不具有对应的经代码转换的帧(192);以及存储所述输出文件(135)。

9.如权利要求1所述的用于机会主义的源文件帧预览的方法,其特征在于,还包括:接收包括第一源文件(115)的第一采样片段(124)的第二预览请求(112),其中所述第一采样片段(124)包括所述第一源文件(115)的至少一个源帧(185),并且其中所述第一源文件(115)包括至少两个已编码源帧(185),并且其中所述第二预览请求(112)还包括第二源文件(115)的第二采样片段(124),其中所述第二采样片段(124)包括所述第二源文件(115)的至少一个源帧(185),并且其中所述第二源文件(115)包括至少两个已编码源帧(185);

对所述第一采样片段(124)中的足够数量的源帧(185)以及所述第二采样片段(124)中的足够数量的源帧(185)进行代码转换,以生成第二预览片段(125),其中在输出(114)所述第二预览片段(125)时,用户将可识别所述第一采样片段(124)和所述第二采样片段(124),并且其中一旦接收到所述第二预览请求(112),所述第一采样片段(124)中的足够数量的源帧(185)以及所述第二采样片段(124)中的足够数量的源帧(185)在对任何源文件(115)中的任何其他源帧(185)进行代码转换之前进行代码转换;

根据从所述第一采样片段(124)中进行代码转换的至少一个源帧(185)以及从所述第二采样片段(124)中进行代码转换的至少一个源帧(185),来生成第二预览片段(125);以及输出(114)所述第二预览片段(125)。

10.如权利要求1所述的用于机会主义的源文件帧预览的方法,其特征在于,还包括将被代码转换为经代码转换的帧(192)的每一个源帧(185)存储在预览文件(190)中。

11.如权利要求10所述的用于机会主义的源文件帧预览的方法,其特征在于,所述预览片段(125)由预览帧(195)构成,并且其中每一个预览帧(195)由至少一个经代码转换的帧(192)构成,并且其中可对被包括在所述预览片段(125)中的每一个经代码转换的帧(192)应用处理。

12.如权利要求1所述的用于机会主义的源文件帧预览的方法,其特征在于,还包括:存储已进行代码转换为经代码转换的帧(192)的每一个源帧(185);

使用经代码转换的帧(192)来生成由至少一个预览帧(195)构成的预览片段(125);

生成包括标识被包括在所述预览片段(125)中的经代码转换的帧(192)的信息的决定列表(122);

接收生成输出文件(135)的输出命令(112);

响应于所述输出命令(112)来生成输出文件(135),包括使用所述决定列表(122)以及一个或多个预览帧(195)来生成所述输出文件(135);以及存储所述输出文件(135)。

13.一种机会主义的帧高速缓存系统,包括:

包括以下能力的组件(150):标识要响应于对采样片段(124)的预览请求(112)而进行代码转换的源帧(185);

包括以下能力的组件(160):对源帧(185)进行代码转换以生成经代码转换的帧(192);

包括以下能力的组件(160):在对不响应于对采样片段(124)的任何预览请求(112)的源帧(185)进行代码转换之前对所标识的源帧(185)的集合进行代码转换;

包括生成包括一个或多个预览帧(195)的预览片段(125)的能力的组件(140),其中所述预览片段(125)的每一个预览帧(195)都由至少一个经代码转换的帧(192)构成,并且其中所述预览片段(125)是响应于接收到的预览请求(112)的;

包括输出(114)预览片段(125)的能力的组件(120)

包括标识当前正被输出(114)的预览片段(125)中的预览帧(195)的能力的组件(150);

包括以下能力的组件(150):在第一时间确定没有足够的时间来对所标识的源帧(185)的集合中的至少一个源帧(185)进行代码转换;以及包括以下能力的组件(150):当确定没有足够的时间来对所标识的源帧(185)的集合中的至少一个源帧(185)进行代码转换时,修改要响应于所述预览请求(112)而进行代码转换的所标识的源帧(185)的集合。

14.如权利要求13所述的机会主义的帧高速缓存系统,其特征在于,还包括:

包括接收包括预览请求的输入(112)的能力的组件(130);

包括以下能力的组件(120):生成并维护包括关于预览片段(125)的至少一个预览帧(195)的信息的决定列表(122);以及包括生成输出文件(135)的能力的组件(170),其中所述输出文件(135)包括预览片段(125)的至少一个预览帧(195)。

15.如权利要求13所述的机会主义的帧高速缓存系统,其特征在于,还包括:

包括以下能力的组件(150):当要为先前的预览请求(112)进行代码转换的所标识的源帧(185)的集合中的至少一个源帧(185)尚未进行代码转换时,标识要响应于对第二采样片段(124)的第二预览请求(112)而进行代码转换的源帧(185)的第二集合(126);

包括以下能力的组件(150):将要进行代码转换的源帧(185)的集合(126)改为包括被标识为将响应于所述第二预览请求(112)而进行代码转换的源帧(185)的第二集合(126),其中要进行代码转换的源帧(185)的集合(126)在将为先前的预览请求(112)进行代码转换的所标识的源帧(185)的集合中的至少一个源帧(185)进行代码转换之前被改变;以及包括以下能力的组件(160):在对不响应于对采样片段(124)的预览请求(112)的源帧(185)进行代码转换之前对源帧(185)的第二集合(126)进行代码转换。

说明书全文

机会主义的帧高速缓存

技术领域

[0001] 本发明涉及媒体处理的各种系统和方法,尤其涉及用于启用机会主义的帧高速缓存以便进行媒体处理的系统和方法。

背景技术

[0002] 用户能够创建或以其他方式访问各种媒体文件,诸如使用摄像机等来生成的视频文件、存储在CD或计算设备的硬盘驱动器上的音频文件等。用户通常期望编辑此处也被称为源文件的这些媒体文件中的一个或多个。例如,用户可能只对媒体文件的一部分感兴趣,诸如视频文件中捕捉宠物戏水的小片段,并且该用户可能期望将该较小的片段变成单独的、唯一的输出文件。作为另一示例,用户可能希望对媒体文件的各部分进行重新排序,诸如更改存储在若干首歌的音频文件中的一首或多首歌的次序。作为又一示例,用户可能希望通过例如将彩色视频文件的一个或多个部分,即各帧或帧集改为黑白来编辑媒体文件。
[0003] 用户通常希望迅速预览媒体、源、一个或多个文件或其一个或多个部分。为处理用户不感兴趣和/或不太可能关心的源文件部分而耗费的工作花费了用户用于关注各考虑事项的时间并且限制了及时产生向用户输出的预览的能力。

发明内容

[0004] 提供本发明内容是为了以简化的形式介绍将在以下具体实施方式中进一步描述的一些概念。本发明内容不是要标识要求保护主题的关键或本质特征,也不是要用于帮助确定要求保护主题的范围。
[0005] 此处所讨论的各实施方式包括用于启用机会主义的帧高速缓存以便进行媒体处理的系统和方法。
[0006] 在各实施方式中,在输入媒体源文件中的用户没有或尚未指示感兴趣的其他部分之前,处理,即解码和/或解压同一源文件中的用户出于审阅和/或编辑目的而期望预览的部分。在这些实施方式中,能够迅速处理用户请求的预览并且用户无需在该用户能够开始其审阅和编辑工作之前等待处理该源文件中该用户不感兴趣的各部分。
[0007] 在各实施方式中,可随时间处理源文件中的用户已表示感兴趣的,即请求预览的各部分,以便在没有可感知到的时间延迟的情况下向用户提供逐渐健壮的预览。
[0008] 在各实施方式中,能够在其中用户请求未关注的时间跨度内处理源文件中的用户未请求预览的各部分并且对将来的预览工作准备就绪。在这些实施方式中,能够及时处理源文件并且能够迅速地且机会主义地适应并促进总体用户工作。

附图说明

[0009] 现在将参考旨在对本发明进行说明而非限制的具体实施方式和示例的附图来描述这些和其他特征,在附图中:
[0010] 图1描绘了机会主义的帧高速缓存系统。
[0011] 图2A-2C示出了用于机会主义的帧高速缓存系统的实施例机会主义的代码转换器组件的实施例逻辑流程。
[0012] 图3A-3C示出了用于机会主义的帧高速缓存系统的实施例媒体解析器组件的实施例逻辑流程。
[0013] 图4A-4B示出了用于机会主义的帧高速缓存系统的实施例编码器组件的实施例逻辑流程。
[0014] 图5A-5C示出了用于机会主义的帧高速缓存系统的实施例合成器组件的实施例逻辑流程。
[0015] 图6是可处理软件,即程序代码或指令的示例性基本计算设备系统的框图。

具体实施方式

[0016] 在以下描述中,为解释起见,阐明了众多具体细节以提供对此处所描述的各实施方式的全面理解。然而对于本领域技术人员显然的是,没有这些具体细节也可实践各实施方式。在其它情况下,简单地参考或以框图形式示出公知的结构和设备以避免不必要的混淆。全文使用的任何和所有标题都只是为了易于解释而并非为了任何限制性用途。
[0017] 参考图1,此处也被称为OFC系统的机会主义的帧高速缓存系统100被主存在计算设备180上或以其他方式在该计算设备上执行。在一实施方式中,计算设备180是能够运行或执行软件指令并与用户110交互以便输入文件115(例如,音频或可视),并且对输入文件115执行计算或其他动作的计算机或任何设备。在一实施方式中,OFC系统100支持用户对一个或多个输入文件115的编辑。此处也被称为源文件115的输入文件115可来自各个源,诸如音频和/或可视,包括摄像机155、磁带盘165、CD 175等。在一实施方式中,源文件115由各自包含源文件115内容的一部分的一个或多个源帧185构成。
[0018] OFC系统100具有若干组件,包括UI 130、机会主义的代码转换器150、媒体解析器160、合成器140、预览器120以及编码器170。在一实施方式中,OFC系统100组件是在被执行时执行一个或多个任务的软件指令集。在替换实施方式中,OFC系统100可具有更多、更少和/或不同的组件。
[0019] 在一实施方式中,OFC系统100的UI(用户界面)和app逻辑(应用程序逻辑)130组件具有接受用户命令112并向用户110提供输出114的能力。
[0020] 在一实施方式中,用户110经由UI 130与OFC系统100交互以预览,即审阅和/或编辑一个或多个源文件115以生成一个或多个已完成的、已产生的、输出文件135。在一实施方式中,用户110与UI 130交互,例如发送或以其他方式发起命令112,以便组织对一个或多个源文件115中的此处也被称为采样片段的一个或多个部分的预览。
[0021] 在一实施方式中,采样片段124是源文件115中用户110有兴趣预览的部分,即,源文件115中的一个或多个源帧185的连续集合。在一实施方式中,采样片段124可以是一个或多个源文件115中用户110有兴趣组合并预览的两个或更多部分。例如,在一实施方式中,采样片段124可由将要组合的第一视频源文件115的部分和第二音频源文件115的部分构成。
[0022] 在一实施方式中,用于采样片段124的源文件115的部分可以是整个源文件115。
[0023] 在一实施方式中,用户110可以经由UI 130向OFC系统100发出指示用户110有兴趣预览的采样片段124的用户预览请求的命令112。在一实施方式中,响应于用户预览请求而输出给用户110的得到的预览帧195集合是表示在对应的采样片段124中标识的源帧185的预览片段125。在一实施方式中,预览片段125包括各自与来自一个或多个源文件115的一个或多个源帧185相关的一个或多个预览帧195。
[0024] 在一实施方式中,用户110可以与UI 130进行交互,例如发送或以其他方式发出命令112,以修改预览片段125。例如,用户110可以经由UI 130发出一个或多个命令112,以规定要应用于预览片段125的一个或多个预览帧195的各种处理,例如淡入、淡出、静音、添加字幕、生成背景,等等。作为第二示例,用户110可以经由UI 130发出一个或多个命令112,以对预览片段125中的预览帧195进行重新排序。作为又一示例,用户可以经由UI130发出一个或多个命令112,以将例如音频源帧185等第二组源帧185的与例如由视频源帧组成的预览片段125的已有预览帧195进行合并,以组合源文件片段来例如向视频添加音乐分数。
[0025] 在示例OFC系统100中,预览器120组件具有向用户110输出,即显示和/或播放预览片段125的能力,以供用户110观看和/或收听并供用户用来作出用于创建结果输出文件135的编辑决策。在一实施方式中,用户110经由UI 130发出包括用户预览请求的命令112,该预览请求造成预览器120向用户110输出预览片段125。
[0026] 如上所述,在一实施方式中,预览片段125具有一个或多个预览帧195。在一实施方式中,从一个或多个经代码转换或转置(即,经解码和/或解压)的源帧185来生成预览帧195。在一实施方式中,源帧185已被使用各种方案进行了编码和/或压缩,使得可以在存储源文件115的例如CD、DVD、记忆棒等存储介质上存储更多数据。在该实施方式中,源帧185对用户110而言没有意义,即用户110不能观看或收听这些经编码的和/或经压缩的源帧185并且不能识别其中表示的主题。
[0027] 在一实施方式中,根据用户命令112,可对预览帧195应用一个或多个处理。可被应用于一个或多个预览帧195的各种处理包括但不限于添加标题、字幕、背景、剪贴画(clipart)等,淡入或淡出,变成彩色,修改成黑白色,静音,增大音量等等。
[0028] 在一实施方式中,一个以上的源可以对预览帧195作出贡献。例如,可以通过将音频源帧185与图像源帧185合并来生成预览帧195,使得声音随图像包括。作为另一示例,预览帧195可以通过修改图像源帧185或视频源帧185来生成,以向源帧185添加来自剪贴画文件的剪贴画。在一实施方式中,可为任何预览帧195生成各种两个或更多个源组合。
[0029] 在一实施方式中,预览片段125向用户110提供在基于预览片段125的最终输出文件135被命令来从预览片段125中生成的情况下该最终输出文件将是什么样的可视和/或音频视图。
[0030] 在一实施方式中,用户110可以与UI 130进行交互,例如发送或以其他方式发出命令112,以生成输出文件135。在一实施方式中,输出文件135是预览片段125的定稿版本。在该实施方式中,一旦用户110输出了该用户110希望保留的预览片段125,则用户110可以经由UI 130发出命令112,以生成对应的输出文件135并保存。
[0031] 在一实施方式中,输出文件135具有一个或多个输出帧105。在一实施方式中,一个或多个输出帧105是经编码和/或压缩的预览帧195。如上所述,预览帧195是从一个或多个源文件帧185生成的,可根据用户命令112对预览帧195应用一个或多个处理。
[0032] 在一实施方式中,一个或多个输出帧105是被编码和/或压缩的经代码转换的源帧。在该实施方式的一个方面,在将经代码转换的源帧中的一个或多个编码和/或压缩成输出帧105之前对其应用一个或多个处理。如以下进一步讨论的,在该实施方式中,一个或多个输出帧105不是从在预览片段125中被输出给用户110的任何预览帧195中生成的。
[0033] 如上所述,在一实施方式中,源帧185已被编码和/或压缩。在一实施方式中,OFC系统100的媒体解析器160组件具有在示例OFC系统100的示例机会主义的代码转换器150组件的指导下对源帧185进行代码转换(即,解码和/或解压)以生成对应的经代码转换的帧192的能力。在一实施方式中,媒体解析器160将源文件115的一个或多个源帧185作为输入并对一个或多个源帧185进行代码转换,使得所得的经代码转换的帧192在被用于用户110所观看和/或收听的预览片段125中的预览帧195时对用户110而言是可理解的(即可识别的)。在一实施方式中,媒体解析器160将所生成的经代码转换的帧192存储在预览文件190或任何其他可使用的数据存储组件中,这些组件诸如但不限于表、链表等,它们在本文中被统称为预览文件190。
[0034] 在一实施方式中,一示例OFC系统100的机会主义的代码转换器150组件具有标识要响应于用户预览请求的命令112而被代码转换(即,解码和/或解压)的源帧185的能力。在一实施方式中,机会主义的代码转换器150标识代码转换片段126,它包括要被代码转换以产生可响应于用户预览请求而被输出给用户110以供预览的预览片段125的源帧185。
[0035] 在一实施方式中,代码转换片段126包括来自一个源文件115的源帧185,并且在用户预览请求涉及一个以上源文件185时,机会主义的代码转换器150标识源文件185中的每一个的代码转换片段126。在一替换实施方式中,代码转换片段126包括来自用户预览请求中涉及的每一源文件115的源帧185。
[0036] 在一实施方式中,机会主义的代码转换器150所标识的代码转换片段126包括从源文件115中的起始源帧到源文件115中的结尾源帧的连续的源帧185。在一实施方式中,用于代码转换片段126的源文件115中的起始源帧是用户的当前用户预览请求的采样片段124中的第一位的源帧。在一实施方式中,用于代码转换片段126的源文件115中的结尾源帧是用户的当前用户预览请求的采样片段124中的最后一位的源帧。
[0037] 在一些情况下,应用于源文件115的压缩和/或编码格式可以要求该源文件115中处于采样片段124的第一位的源帧之前的一个或多个源帧被进行代码转换,以使采样片段124的第一位的源帧被正确地进行代码转换。在一些情况下,应用于源文件115的压缩和/或编码格式可以要求该源文件115中跟在采样片段124的最后一位的源帧之后的一个或多个源帧被进行代码转换,以使采样片段124的最后一位的源帧被正确地进行代码转换。在这些情况下和实施方式中,机会主义的代码转换器150所标识的代码转换片段126包括要被进行代码转换以使得可以对采样片段124中的每一源帧185正确地进行代码转换的所有连续源帧185。
[0038] 在一实施方式中,机会主义的代码转换器150向媒体解析器160发出代码转换预览请求,从而将代码转换片段126标识为媒体解析器160代码转换工作的目标。
[0039] 如上所述,在一实施方式中,OFC系统100的媒体解析器160组件具有对源帧185进行代码转换以生成对应的经代码转换的帧192的能力。在一实施方式中,在媒体解析器160接收到来自机会主义的代码转换器的代码转换预览请求时,媒体解析器160将用于对代码转换片段126中指示的源帧185中的一个或多个进行代码转换,代码转换片段126由代码转换预览请求标识或以其他方式与代码转换预览请求相关联。在一实施方式中,媒体解析器160在一个或多个预定义条件下结束对代码转换片段126中的源帧185的代码转换。
[0040] 在一实施方式中,媒体解析器160结束对代码转换片段126中的源帧185的代码转换的第一预定义条件是在媒体解析器160对代码转换片段126中的每一源帧185进行了代码转换时。
[0041] 在一实施方式中,媒体解析器160结束对代码转换片段126中的源帧185的代码转换的第二预定义条件是在媒体解析器160对代码转换片段126中的将要进行代码转换的所有源帧185进行了代码转换时。在该实施方式中,并非代码转换片段126中的每一源帧185都必须被代码转换才能使预览器120能够输出可接受质量的预览片段125以供用户预览。例如,在一实施方式中,媒体解析器160仅对代码转换片段126中每隔一个源帧185进行代码转换,并且所得的经代码转换的帧192在被用于预览片段125中的预览帧195时将提供可接受的输出质量以供用户110审阅预览片段125并在其上作出智能的编辑决策。
[0042] 在一实施方式中,媒体解析器160结束对代码转换片段126中的源帧185的代码转换的第三预定义条件是在媒体解析器160接收到来自机会主义的代码转换器150的标识与媒体解析器160当前正在处理的代码转换片段126不同的第二代码转换片段126的另一代码转换预览请求时。在该实施方式的一个方面,在这一第三预定义条件发生时,媒体解析器160最终化(finalize)对它当前正在处理的源帧185的代码转换,并随后开始对新标识的代码转换片段126的源帧185进行代码转换。在该实施方式的第一替换方面,在这一第三预定义条件发生时,媒体解析器160终止对它当前正在处理的源帧185的代码转换,并开始对新标识的代码转换片段126的源帧185进行代码转换。在该实施方式的第二替换方面,在这一第三预定义条件发生时,媒体解析器160对它当前正在处理的代码转换片段126最终化它将要进行代码转换的源帧185的代码转换,并随后开始对新标识的代码转换片段126的源帧185进行代码转换。
[0043] 在一实施方式中,媒体解析器160结束对代码转换片段126中的源帧185的代码转换的第四预定义条件是在预定义时间限制期满时。在该实施方式中,媒体解析器160在预设时间量期满之后结束对代码转换片段126的处理。
[0044] 在一实施方式中,媒体解析器160结束对代码转换片段126中的源帧185的代码转换的第五预定义条件是在媒体解析器160对源文件115中的要代码转换的最后源帧185进行了代码转换时。
[0045] 在各实施方式中,也可以使用或作为替换使用其他预定义条件,以规定媒体解析器160何时根据从机会主义的代码转换器150发出的代码转换预览请求来结束对代码转换片段126中的源帧185的代码转换。
[0046] 在各实施方式中,因为OFC系统100正在对用户预览所需的源帧185进行代码转换,所以OFC系统100省下了否则被用来对用户110当前不感兴趣的源帧185进行代码转换的时间和资源。在一实施方式中,以此方式,可以更方便地向用户110提供更健壮的预览片段125。
[0047] 在一实施方式中,媒体解析器160对它有时间来进行代码转换的代码转换预览请求中的起始源帧185开始的每一连续的源帧185进行代码转换,在该实施方式的一个方面,机会主义的代码转换器150认识到当前向用户110提供(即显示和/或播放)的预览片段125中的这一点(即预览帧195)以及也要这样提供的下一预览帧195。在该实施方式的这一方面,机会主义的代码转换器150可以确定应在何时为预览片段125对新源帧185进行代码转换以及在对应的预览帧195被提供给用户110之前媒体解析器160是否有时间执行该代码转换。在这一实施方式的这一方面,在机会主义的代码转换器150确定所需的对应预览帧195的源帧185尚未进行代码转换并且没有足够时间对它进行代码转换时,机会主义的代码转换器150与媒体解析器160进行通信以命令媒体解析器160跳过对该源帧185的代码转换。在该实施方式的这一方面,通过跳过对源帧185的代码转换,对应的预览帧
195将不是输出给用户110的当前预览片段125的一部分。
[0048] 在一实施方式中,媒体解析器160随后将跳过以开始对所跳过的预览帧195之后的下一预览帧195的源帧185进行代码转换。例如,假定第三预览帧(3)是要提供给用户110的下一预览帧195,但对应的源帧185还未被代码转换并且当前没有足够的时间来对它进行代码转换。在该示例和实施方式中,媒体解析器160跳过对第三预览帧的对应源帧185的代码转换,并开始对第四预览帧(4)的源帧185进行代码转换。
[0049] 在另一实施方式中,媒体解析器160将跳过预定数量的源帧185以随后恢复当前代码转换预览请求的源文件帧代码转换。例如,再次假定第三预览帧(3)是要提供给用户110的下一预览帧195,但对应的源帧185还未被代码转换并且当前没有足够的时间来对它进行代码转换。在该示例和其他实施方式中,媒体解析器160跳过对预定数量(例如,五(5)个)的源帧185的代码转换,并开始对第八预览帧(8)的源帧185进行代码转换。
[0050] 在一替换实施方式中,在机会主义的代码转换器150确定所需对应预览帧195的源帧185未被代码转换,并且没有足够的时间对它进行代码转换时,机会主义的代码转换器150为当前用户预览请求标识具有在时间上比媒体解析器当前没有足够时间来进行代码转换的源帧185晚的一个或多个源帧185的新代码转换片段126。在该替换实施方式中,机会主义的代码转换器150向媒体解析器160发出代码转换预览请求,从而将该新代码转换片段126标识为媒体解析器160代码转换工作的目标。在该替换实施方式中,媒体解析器160将终止对它当前正在进行代码转换的源帧185的处理,并开始处理新代码转换片段126中指示的源帧。
[0051] 在一实施方式中,在媒体解析器160对最后源帧185(例如代码转换预览请求的端点源帧185或源文件115中的最后连续源帧185)进行代码转换并且媒体解析器160有时间继续对源帧185进行代码转换时,媒体解析器160对尚未被代码转换的源帧185继续进行代码转换。在一实施方式中,只要预定时间限制没有期满和/或媒体解析器160没有接收到来自机会主义的代码转换器150的新代码转换预览请求,媒体解析器160就有时间对源帧继续进行代码转换。在一实施方式中,只要媒体解析器160有时间并且存在要代码转换的源帧185,媒体解析器160就将对源帧185继续进行代码转换。
[0052] 在一实施方式中,在有时间对源文件115中的源帧185继续进行代码转换的情况下,媒体解析器160前往媒体解析器160先前没有进行代码转换的最后代码转换预览请求中的第一位的源帧185并开始对该源帧185进行代码转换。在该实施方式中,媒体解析器160对最后代码转换预览请求中标识的、要进行代码转换的、连续的先前未被代码转换的源帧185继续进行代码转换,直至满足预定义条件为止。
[0053] 在一实施方式中,在媒体解析器160完成对最后代码转换预览请求中标识的源帧185的代码转换并且还有时间继续对源帧185进行代码转换时,媒体解析器160前往媒体解析器160先前未进行代码转换的之前的代码转换预览请求(例如倒数第二个代码转换预览请求)中的第一位的源帧185,并开始对该源帧185进行代码转换。
[0054] 在一实施方式中,媒体解析器160继续往回操作之前的代码转换预览请求,从而对这些之前的代码转换预览请求中标识的先前未被代码转换的源帧185进行代码转换,直至满足预定义条件为止。在第二实施方式中,媒体解析器160继续往回操作之前的代码转换预览请求,从而对这些之前的代码转换预览请求中标识的先前未被代码转换的源帧185进行代码转换,直至代码转换了预定义数量的代码转换预览请求或直至满足预定义条件为止。在第三实施方式中,媒体解析器160继续往回操作之前的代码转换预览请求,从而对这些之前的代码转换预览请求中标识的先前未被代码转换的源帧185进行代码转换,直至代码转换进行了预定义时间量或直至满足预定义条件为止。在又一些实施方式中,媒体解析器160继续往回操作之前的代码转换预览请求,从而对这些之前代码转换预览请求中标识的先前未被代码转换的源帧185进行代码转换,直至满足其他条件和/或条件的组合为止。
[0055] 在一实施方式中,如果媒体解析器160为当前用户编辑会话(即,对OFC系统100的当前用户访问时间)对所有之前代码转换预览请求中标识的源帧185进行代码转换,并且仍然有时间进行对源帧185进行代码转换,则媒体解析器160前往源文件115中未被代码转换的第一源帧185并开始对这一源帧185进行代码转换。媒体解析器160此后将对源文件115中先前未被代码转换的源帧185继续进行代码转换,直至源文件115中没有要进行代码转换的源帧185或满足另一预定义条件为止。
[0056] 在该实施方式的一个方面,媒体解析器160开始对它最后当前处理的源文件115中的源帧185进行代码转换。在该实施方式的其他方面,媒体解析器160开始对通过其他准则确定的源文件115中的源帧185进行代码转换,这些准则诸如但不限于从中生成用于当前用户编辑会话的最大数量的采样片段124的源文件115、当前用户编辑会话中标识的每一采样片段124的最大数量的源帧185起源的源文件115等等。
[0057] 在一替换实施方式中,在媒体解析器160完成对最后的代码转换预览请求中标识的源帧185的代码转换并且还有时间继续对源帧185进行代码转换时,媒体解析器160前往当前源文件115中媒体解析器160已经在处理的第一源帧185,并开始对该源帧185进行代码转换。在该替换实施方式中,媒体解析器160对当前源文件115中的连续的先前未被代码转换的源帧185继续进行代码转换,直至满足预定义条件为止。
[0058] 在其他替换实施方式中,在媒体解析器160完成对最后代码转换预览请求中标识的源帧185的代码转换并且还有时间对源帧185继续进行代码转换时,媒体解析器160开始对通过其他准则确定的源文件115中的源帧185进行代码转换。在这些其他替换实施方式中,其他准则可包括但不限于从中生成用于当前用户编辑会话的最大数量的采样片段124的源文件115、当前用户编辑会话中标识的每一采样片段124的最大数量的源帧185起源的源文件115等等。
[0059] 在一实施方式中,在媒体解析器完成对源文件115中的源帧185的代码转换并且还有时间对于源帧185继续进行代码转换时,媒体解析器160开始对另一源文件115中的源帧185进行代码转换。在该实施方式中,只要它有时间并且存在要进行代码转换的源帧185,媒体解析器160就对每一源文件115中的源帧185继续进行代码转换。在该实施方式的各方面,媒体解析器160用于对其中源帧185进行代码转换的源文件115的次序是通过各种准则来确定的,包括但不限于从生成用于当前用户编辑会话的最大数量的采样片段
124的源文件115到不生成或生成最少数量的采样片段124的源文件115、从当前用户编辑会话中定义的每一采样片段124的最大数量的源帧185起源的源文件115到每一采样片段
124的最少数量的(或没有)源帧185起源的源文件115等等。
[0060] 在该实施方式的一个方面,媒体解析器160在时间准许时对每一源文件115的每一源帧185进行代码转换。在该实施方式的另一方面,媒体解析器160在时间准许时为要生成的并且用户可识别(即具有足够输出质量以供用户预览)的任何预览片段125对每一源文件115的足够数量的源帧185进行代码转换。在该实施方式的这一其他方面,并非任何源文件115的所有源帧185都必须被代码转换才能使从源文件115中的一个或多个导出的任何可能的预览片段125可被用户识别。
[0061] 在一实施方式中,机会主义的代码转换器150具有认识到用户110当前希望预览的、应用了任何处理的要被或正被提供给用户110的当前预览片段(即,按所请求的顺序的一组预览帧195)的能力。情况可能是:用户110在操作他们的当前或后续编辑项目时,将多于一次地预览被建立为预览帧195的同一组经代码转换的帧192。因此,在一实施方式中,在用户110经由UI 130发出用户预览非命令112时,经代码转换的帧192可能已经存在并且已准备好被包括在预览片段125中。在该实施方式中,机会主义的代码转换器150不必命令媒体解析器160对其对应的经代码转换的帧192已被生成并被存储在预览文件190的源帧185进行代码转换。
[0062] 在一实施方式中,预览片段125可能存在因先前没有足够时间对其对应的源帧185进行代码转换而没有生成的缺失的预览帧195。在一实施方式中,在用户110发出用户预览请求之后,机会主义的代码转换150确定预览片段125的哪些(如果有)预览帧195已经存在以及预览片段125的哪些(如果有)经代码转换的帧192已经存在。在该实施方式中,机会主义的代码转换器150命令媒体解析器160只对其所需预览帧190未被生成并且对应的经代码转换的帧192当前不存在的那些源帧185进行代码转换。以此方式,对于涉及先前生成的预览帧195的每一后续用户预览请求,OFC系统100可以向用户110提供时间更加高效的预览会话,因为只使用很少时间或可能不使用时间来生成所需预览帧195。
同样,以此方式,示例OFC系统100随后可以随时间向用户110提供更丰富的预览,因为在每次将具有已有预览帧195和/或从当前已有的经代码转换的帧192生成的预览片段125输出给用户110时,附加预览帧195可被及时地生成并被包括在其中。
[0063] 在一实施方式中,即使在媒体解析器有时间对附加源帧185进行代码转换时,媒体解析器160也对少于第一代码转换预览请求中标识的代码转换片段126的源文件115的所有源帧185进行代码转换。例如,在一实施方式中,媒体解析器160根据从机会主义的代码转换器150发出的第一代码转换预览请求来对代码转换片段126中的每隔一个源帧185进行代码转换。在一实施方式中,如果媒体解析器160接收到对同一代码转换片段126或与之前的代码转换片段126重叠的代码转换片段126的第二代码转换预览请求,则媒体解析器160对代码转换片段126中先前未被代码转换的源帧185进行代码转换。在该实施方式中,媒体解析器160不对先前已被代码转换的源帧185重新进行代码转换。
[0064] 在一替换实施方式中,除非另外指明,否则媒体解析器160只对任何源文件115的源帧185的子集部分进行代码转换,而不管媒体解析器有多少时间来对附加源帧185进行代码转换。例如,在该替换实施方式中,除非另外指明,否则媒体解析器160只对任何源文件115的每隔一个源帧185进行代码转换,而不管媒体解析器有多少时间来对任何源文件115的每一源帧185进行代码转换。在该替换实施方式中,如果任何可能的预览片段125中的任何预览帧195的基础可以提供可接受的质量预览片段125以供用户预览,则媒体解析器160在时间允许时对源帧185进行代码转换。
[0065] 如上所述,在一实施方式中,媒体解析器160将所生成的经代码转换的帧192存储在预览文件190中。在各实施方式中,预览文件190是易失性或非易失性存储器,并且因此可用于当前用户编辑会话,并且在各实施方式中可用于后续用户编辑会话。
[0066] 在一实施方式中,经代码转换的帧192是以生成它们的次序存储的并且为OFC系统100建立索引以在源帧185与对应的经代码转换的帧192之间进行映射。在该实施方式中,OFC系统100使用所建立的索引来确定经代码转换的帧192是否可用来在预览片段125中提供给用户110。
[0067] 在一替换实施方式中,经代码转换的帧192是按与它们的对应源帧185相同的次序一一对应地存储的。在该实施方式的一个方面,预览文件190中的空帧指示对应的源帧185未被代码转换。在各实施例中,可以用各种机制来指示预览文件190中的空帧,包括但不限于预定义的空数据模式(例如全零)、与预览文件190的每一帧相关联的指示预览文件
190的该帧是空还是被填充的标志,等等。
[0068] 在其他实施方式中,经代码转换的帧192在预览文件190中的组织可以是使用各种寻址方案的其他次序,带有或不带有与任何源文件115的一一对应关系。示例性替换实施方式预览文件190组织包括不带有一一对应关系而使得预览文件190中没有空帧的对应的源帧185的次序、预览片段125的对应的预览帧195的次序,等等。
[0069] 在一实施方式中,OFC系统100的合成器140组件具有生成要被输出给用户110的预览片段125的能力。示例合成器140将一个或多个经代码转换的帧192组合成一个或多个预览片段125。在一实施方式中,合成器140根据经由UI 130的用户命令112来对一个或多个经代码转换的帧192应用各种处理(例如,可视和/或音频效果),该一个或多个经代码转换的帧192随后作为预览帧195被包括在输出给用户110的预览片段125中。
[0070] 在一实施方式中,OFC系统100的预览器组件120具有将预览片段125输出给用户110的能力。
[0071] 在一实施方式中,用户110可以经由UI 130发出对一个或多个源文件115的指示用户请求的采样片段的用户预览请求命令112。在一实施方式中,响应于该用户预览请求,合成器140向机会主义的代码转换器150发送预览请求,从而指示用户已经请求了预览片段135。在一实施方式中,如果用户请求的采样片段的所有源帧185都要被代码转换,则机会主义的代码转换器150定义包括要被代码转换的所有源帧185的代码转换片段126。在一实施方式中,机会主义的代码转换器150向媒体解析器160发送代码转换预览请求,该请求指示或以其他方式标识所定义的代码转换片段126或与所定义的代码转换片段126相关联。
[0072] 在一实施方式中,在媒体解析器160对代码转换片段126的足够数量的源帧185进行了代码转换时,媒体解析器160通知机会主义的代码转换器150,机会主义的代码转换器150进而通知合成器140预览片段125的源帧185是可用的。在一实施方式中,合成器140响应于初始用户预览请求通过为预览片段125组合来自预览文件190的所有当前已有的经代码转换的帧192来生成第一预览片段125。
[0073] 在一实施方式中,合成器140响应于初始用户预览请求通过以与对应的源帧185相同的时间次序来组合经代码转换的帧192来生成第一预览片段125。
[0074] 在一实施方式中,在用户110作出对同一预览片段125的后续请求时,合成器140生成新预览片段125,或作为替换,修改当前预览片段125,为预览片段125添加后来变得可用的经代码转换的帧192,即自当前预览片段125被首次产生以来被代码转换的帧。以此方式,示例OFC系统100能动态地并机会主义地向用户110提供越来越健壮的预览片段125。
[0075] 在一实施方式中,OFC系统100维护对用户对一个或多个源帧185作出的编辑决策进行记录的决策列表122。决策列表122可以是各种格式中的任一种,包括但不限于列表、表等,在本文中统称为决策列表122。在一实施方式中,决策列表122指示哪些预览帧195最后被提供给用户110。在一实施方式中,决策列表122标识用户请求的采样片段中与输出给用户110的当前预览片段125相对应的源帧185。在该实施方式中,即使不存在用于预览片段125的一个或多个经代码转换的帧192,OFC系统100也认识到那些在被进行了代码转换的情况下它们将会由它们的对应的经代码转换的帧192表示为预览帧195的对应的源帧185。
[0076] 在一实施方式中,预览器120维护OFC系统100的决策列表122。在一替换实施方式中,合成器140维护OFC系统100的决策列表122。在其他替换实施方式中,OFC系统100的其他组件或OFC系统100的各组件的组合维护OFC系统100的决策列表122。
[0077] 用户110可以为所需输出文件135更改来自源文件115的源帧185的次序。用户110可以为所需输出文件135组合来自两个或多个源文件115的源帧185。在一实施方式中,这些用户编辑请求可在提供给用户110的预览片段125中显示给用户110。在一实施方式中,决策列表122标识预览片段125中包括的预览帧195的次序。在一实施方式中,决策列表122标识从中导出每一预览帧195的源文件115。
[0078] 在一实施方式中,用户110可以请求被应用于一个或多个源帧185的一个或多个处理,例如淡入、淡出、包括剪贴画、旋转等。在一实施方式中,决策列表122为在预览片段125中提供给用户110的对应预览帧195标识应用于经代码转换的帧192的每一处理。
[0079] 在各实施方式中,决策列表122包含与从一个或多个源文件115生成输出文件135的相关的替换和/或附加元素。
[0080] 在一实施方式中,在用户110经由UI 130发出编辑命令112时,合成器140对预览片段125执行对应的动作,预览片段125随后被输出给用户110。在一实施方式中,按照用户命令112,合成器140为预览片段125对预览帧195进行重新排序、添加或删除。在一实施方式中,按照用户命令112,合成器140对一个或多个经代码转换的帧192和/或一个或多个预览帧195应用处理,该处理的结果包括在输出给用户110的预览片段125中。
[0081] 在一实施方式中,在用户110预览一个或多个源文件115时,合成器140根据用户命令112继续生成以及重新生成或修改预览片段125。在一实施方式中,决策列表122被相应地更新。
[0082] 如上所述,在各实施方式中,预览片段125可不包含对应的代码转换片段126或用户请求的采样片段的每一连续预览帧195。因此,在一实施方式中,无论预览片段125包含或不包含经重新排序和/或经处理的预览帧195,并非对应的用户请求的采样片段的所有预览帧195可被包括在输出给用户110的预览片段125中。在一实施方式中,这可能是因为一个或多个预览帧195不是从它们的源帧185对应物生成的,例如媒体解析器160只对用户预览请求的代码转换片段126的子集进行代码转换,如每隔一个源帧185。在一实施方式中,这还可以(或作为替换)是因为在将预览片段125提供给用户110时,媒体解析器160没有足够的时间来对一个或多个源帧185进行代码转换,其结果将作为预览帧195包括在预览片段125中。
[0083] 在示例OFC系统100中,编码器170组件具有生成作为用户对一个或多个源文件115的编辑命令112的结果的输出文件135的能力。示例编码器170使用决策列表122、一个或多个经代码转换的帧192、与预览文件190相关联的索引(如果它存在并且在适用的情况下)、最当前的预览片段125及其预览帧195、和/或一个或多个源帧185来生成一个或多个最终输出文件135。在其他实施方式中,编码器170可以使用其他信息和/或元素来生成输出文件135。
[0084] 在一实施方式中,编码器170为连接到OFC系统100在其上操作的计算设备180或以其他方式与计算设备180进行通信的一个或多个输出设备按照一个或多个预定格式和/或一个或多个用户定义的格式和/或一个或多个相容格式来编写输出文件135。
[0085] 在一实施方式中,输出文件135具有一个或多个输出帧105。在一实施方式中,输出帧105是来自一个或多个源文件115的可能被修改或未被修改(即,处理)的源帧185或源帧185的组合。在一实施方式中,输出帧105可以从经代码转换的帧192或预览帧195生成。
[0086] 在一实施方式中,输出帧105被编码和/或压缩。在该实施方式的一个方面,输出文件135的输出帧105是使用与用于对从中导出输出文件135的原始源文件115中的对应的源帧185进行编码的编码方案不同的编码方案来编码的。
[0087] 在一实施方式中,与输出文件135的输出帧105相关联的源帧185可以源于一个或多个源文件115。因此,例如,在一实施方式中,输出文件135可以具有来自(即,导出自)第一视频源文件115的输出帧105和来自(即,导出自)第二音频源文件115的输出帧105。作为另一示例,在一实施方式中,输出文件135可以具有来自(即,导出自)第一视频源文件115和来自(即,导出自)第二音频源文件115的输出帧105。
[0088] 图2A-2C示出了用于OFC系统100的机会主义的代码转换器150组件的逻辑流程。尽管参考在此所述的系统进行下面的讨论,但可在其它系统中实现所述操作。在此描述的操作不限于所示次序。另外,在其它替换实施方式中,可执行更多或更少的操作。此外,所描绘的操作可由机会主义的代码转换器150、机会主义的代码转换器150结合一个或多个其他OFC系统组件,或者由一个或多个其他OFC系统组件来执行。
[0089] 参考图2A,在一实施方式中,在判定框200,确定机会主义的代码转换器是否已经接收到预览请求或命令;即,例如合成器是否已经通知机会主义的代码转换器将要生成预览片段并将其输出给用户。如果是,则在判定框202确定用于由用户指示的采样片段的任何源帧是否尚未进行代码转换。如果否,这在一实施方式中意味着对应于用户请求的采样片段的代码转换片段中的所有源帧都已经进行代码转换,则在一实施方式中机会主义的代码转换器结束处理210。
[0090] 在判定框202,如果否,在第二实施方式中这意味着对应于用户请求的采样片段的代码转换片段中将进行代码转换所有源帧都已经进行代码转换,则在一实施方式中机会主义的代码转换器结束处理210。在该第二实施方式中,媒体解析器160仅仅对一个或多个源文件115的源帧185的子集进行代码转换以供用户预览,因为没有预览片段125要求对所有相应的源帧185进行代码转换并且随后将其包括在预览片段125中以便向用户110提供足够的输出预览质量。
[0091] 在判定框202,如果存在用于用户请求的采样片段的尚未进行代码转换的一个或多个源帧并且在一实施方式中源帧将在时间准许的情况下由媒体解析器来进行代码转换,则在一实施方式中,机会主义的代码转换器用起始点(即,第一个源帧)和结束点(即,最后一个源帧)来标识代码转换片段204。
[0092] 在一实施方式中,第一个源帧可以是源文件115中用于当前用户请求的采样片段124的时间顺序上的第一个源帧185。
[0093] 在一实施方式中,第一个源帧可以是在用户请求的采样片段124中的所有源帧185都将正确地进行代码转换的情况下的源文件115中将进行代码转换的时间顺序上的第一个源帧185。
[0094] 在一实施方式中,第一个源帧可以是源文件115中用于当前用户请求的采样片段124的先前尚未进行代码转换的时间顺序上的第一个源帧185。在该实施方式中,用户请求的采样片段124中的一个或多个源帧185已经为先前的用户预览请求进行代码转换,或者在媒体解析器160有时间对其进行代码转换时进行代码转换。
[0095] 在一实施方式中,第一源帧可以是机会主义的代码转换器150将其标识为源文件115中的媒体解析器160将开始为当前采样片段124进行代码转换的源帧185的源帧185,例如,源文件115中用于用户请求的采样片段124的时间顺序上的第二个源帧、源文件115中用于采样片段124的时间顺序上的第五个源帧,等等。
[0096] 在一实施方式中,机会主义的代码转换器向媒体解析器发送代码转换预览请求206。在一实施方式中,代码转换预览请求指示或以其他方式标识媒体解析器将对其进行代码转换206的代码转换片段或与其相关联。
[0097] 在一实施方式中,在判定框208,确定预览器当前是否正在输出针对对应的用户预览请求的预览片段。在该实施方式中,可以存在足够的预览帧195或经代码转换的帧192以供合成器140生成预览器120可以输出给用户115的预览片段125,但不是用于生成完整的预览片段125的所有预览帧195和/或经代码转换的帧192。
[0098] 在判定框208,如果预览器当前没有输出预览片段,则在一实施方式中,在判定框212,确定媒体解析器是否已经提供用于当前用户预览请求的代码转换片段的将进行代码转换的源帧已经进行代码转换的通知。如果是,则在一实施方式中,机会主义的代码转换器通知合成器将为当前用户预览请求进行代码转换的源帧已经进行了代码转换214。在一实施方式中,机会主义的代码转换器结束处理210。
[0099] 在判定框212,如果不存在用于当前用户预览请求的代码转换片段的将进行代码转换的源帧已经进行代码转换的通知,则在一实施方式中,机会主义的代码转换器再次确定预览器当前是否正在输出针对对应的用户预览请求的预览片段208。
[0100] 在判定框208,如果预览器当前正在输出针对对应的用户预览请求的预览片段,则参考图2B,在一实施方式中,机会主义的代码转换器标识或以其他方式跟踪预览器正在向用户输出以及该用户当前正在预览哪里(例如,哪一预览帧或预览帧范围)230。在一实施方式中,机会主义的代码转换器150与合成器140通信以保持被告知预览器120正将预览片段125中的什么预览帧195或预览帧部分输出给用户110。在一替换实施方式中,机会主义的代码转换器150与预览器120通信以保持被告知用户110当前预览,即审阅和/或编辑预览片段125中的哪里。在一实施方式中,机会主义的代码转换器150可以参考一个或多个数据存储元素,例如表、标志集等,以标识预览器120正在输出给用户110的当前预览帧195或预览帧部分。
[0101] 在一实施方式中,在判定框232,确定预览器是否在当前预览片段的末尾处;即,使预览器向用户输出了整个当前预览片段。如果是,则在一实施方式中,机会主义的代码转换器结束处理210。
[0102] 如果预览器不在当前预览片段的末尾处,则在一实施方式中,在判定框234,确定媒体解析器是否已经提供用于当前用户预览请求的代码转换片段中的将进行代码转换的源帧已经进行代码转换的通知。如果是,则在一实施方式中,机会主义的代码转换器通知合成器将为当前用户预览请求进行代码转换的源帧已经进行了代码转换214。在一实施方式中,机会主义的代码转换器然后结束处理210。
[0103] 在判定框234,如果不存在用于当前用户预览请求的代码转换片段中将进行代码转换的源帧已经进行了代码转换的通知,则在一实施方式中,在判定框236,确定是否存在足够的预览帧来支持预览器在某处向用户输出预览片段。如果是,在一实施方式中,机会主义的代码转换器标识预览器当前正将哪一预览帧或帧范围输出给用户230。
[0104] 在判定框236,如果没有足够的预览帧支持预览器在某处向用户输出预览片段,则在一实施方式中,媒体解析器落后于对针对当前用户预览请求的源帧进行代码转换。在判定框236,如果没有足够的预览帧可用,则在一实施方式中,机会主义的代码转换器标识用于当前用户预览请求的代码转换片段中的下一新源帧供进行代码转换238。
[0105] 在一实施方式中,代码转换片段126中的所标识的下一新源帧是源文件115中在时间顺序上比媒体解析器160正在或正要对其进行代码转换的源帧185晚的源帧185。在一实施方式中,所标识的下一新源帧是源文件115中在时间顺序上自媒体解析器160正在或正要对其进行代码转换的源帧185的下一源帧185。在一替换实施方式中,所标识的下一新源帧可以是源文件115中在时间顺序上在媒体解析器160正在或正要对其进行代码转换的源帧185晚的预定或计算出的数量的源帧185,以便向媒体解析器160提供足够的时间以为所需预览片段125对源帧185进行代码转换。
[0106] 在一实施方式中,在判定框240,确定机会主义的代码转换器是否在代码转换片段的末尾;即,代码转换片段中是否还有任何源帧要向媒体解析器标识以便在此刻进行代码转换。如果机会主义的代码转换器在代码转换片段的末尾,则在一实施方式中,机会主义的代码转换器通知合成器用于当前用户预览请求的预览片段中的源帧已经进行了代码转换242。在一实施方式中,机会主义的代码转换器结束处理210。
[0107] 在判定框240,如果机会主义的代码转换器不在代码转换片段的末尾,则在一实施方式中,在判定框244,确定是否有足够的时间供媒体解析器对用于当前用户预览请求的代码转换片段中的下一新源帧进行代码转换。如果有足够的时间,则在一实施方式中,机会主义的代码转换器命令或以其他方式信令媒体解析器跳至代码转换片段中的所标识的下一新源帧,并且对代码转换片段中的自该源帧的源帧进行代码转换246。
[0108] 在判定框240,无论是否有足够的时间供媒体解析器对代码转换片段中的所标识的下一新源帧进行代码转换,在一实施方式中,机会主义的代码转换器都标识或以其他方式跟踪预览器向用户输出以及该用户当前正在预览哪里,例如哪一预览帧或预览帧范围230。
[0109] 回头参考图2A,在判定框200,如果机会主义的代码转换器未接收到预览请求,则在一实施方式中,在判定框216,确定机会主义的代码转换器是否从媒体解析器接收到源文件的所有源帧都已进行了代码转换的通知。在一实施方式中,源文件115的所有源帧185是每一个源文件115中的每一个源帧185。在一替换实施方式中,源文件115的所有源帧185是每一个源文件115中进行代码转换时足以为任何用户预览请求生成可接受的预览片段125的源帧185的子集。
[0110] 在判定框216,如果媒体解析器已经指示源文件的所有源帧都已进行代码转换,则在一实施方式中,机会主义的代码转换器设置一个或多个指示,例如标志、表条目等,以指示源文件的所有源帧都已进行代码转换218。在一实施方式中,机会主义的代码转换器结束处理210。
[0111] 在判定框216,如果媒体解析器未指示源文件的所有源帧都已进行代码转换,则参考图2C,在一实施方式中,在判定框260,确定合成器是否已经向机会主义的代码转换器发送编码请求;即,合成器是否已经请求为输出文件对一个或多个源帧进行代码转换。如果是,则在一实施方式中,机会主义的代码转换器向媒体解析器发送代码转换编码请求或命令,以便按照指定或预定义质量对一个或多个源帧进行代码转换266。在一实施方式中,机会主义的代码转换器结束处理210。
[0112] 在判定框260,如果合成器未发出编码请求,则在一实施方式中,在判定框262,确定媒体解析器是否已经提供已经完成先前发出的代码转换编码请求的通知;即,媒体解析器已经为输出文件对所请求的源帧进行了代码转换。如果是,则在一实施方式中,机会主义的代码转换器通知合成器为输出文件请求进行代码转换的源帧已进行了代码转换264。在一实施方式中,机会主义的代码转换器结束处理210。
[0113] 在判定框262,如果媒体解析器未提供已经完成待决代码转换编码请求的通知,则在一实施方式中,机会主义的代码转换器结束处理210。
[0114] 图3A-3C示出了用于OFC系统100的示例媒体解析器160组件的逻辑流程。尽管参考在此所述的系统进行下面的讨论,但可在其它系统中实现所述操作。在此描述的操作不限于所示次序。另外,在其它替换实施方式中,可执行更多或更少的操作。此外,所描绘的操作可由示例媒体解析器160、示例媒体解析器160结合一个或多个其他OFC系统组件,或者由一个或多个其他OFC系统组件来执行。
[0115] 参考图3A,在一实施方式中,在判定框300,确定媒体解析器是否从机会主义的代码转换器接收到代码转换预览请求;即,媒体解析器是否已被请求为向用户输出的预览片段对来自一个或多个源文件的源帧进行代码转换。如果是,则在一实施方式中,媒体解析器前往代码转换片段中也被称为当前源帧的起始源帧316。
[0116] 参考图3B,在判定框320,确定当前源帧是否已进行了代码转换。如果是,则在一实施方式中,在判定框332,确定当前源帧是否是用于当前代码转换预览请求的最后一个源帧;即,为向用户输出当前预览片段是否还有任何源帧要进行代码转换。如果当前源帧是最后一个源帧,则在一实施方式中,媒体解析器通知机会主义的代码转换器对应于当前用户请求的采样片段的当前代码转换片段中将要代码转换的所有源帧都已进行了代码转换330。
[0117] 参考图3C,在一实施方式中,如果当前预览片段中将要代码转换的所有源帧都已进行了代码转换,则在一实施方式中,在判定框340,确定源文件中是否还有任何源帧要进行代码转换。在一实施方式中,还要进行代码转换的任何源帧185意味着在源文件115中存在未进行代码转换的至少一个源帧185。在另一实施方式中,还要进行代码转换的任何源帧185意味着源文件115的源帧185的子集中的至少一个源帧185尚未进行代码转换,其中如果该源帧子集中的全部都已进行代码转换,则该子集支持为任何用户预览请求生成可接受的预览片段125。
[0118] 在判定框340,如果没有源帧要进行代码转换,则在一实施方式中,媒体解析器通知机会主义的代码转换器将要代码转换的所有源帧都已进行了代码转换342。在一实施方式中,媒体解析器结束处理350。
[0119] 在判定框340,如果有源帧要进行代码转换,则在一实施方式中,媒体解析器在源文件中标识开始代码转换的代码转换起始点,即起始源帧344。在一实施方式中,起始源帧是从媒体解析器160当前正在处理的源文件115的开头开始的尚未进行代码转换的第一个源帧185。在第二实施方式中,起始源帧是在为用户请求的采样片段124进行代码转换的情况下由媒体解析器160标识为潜在源帧185的源帧185,例如,比最后一个用户请求的采样片段124的起始源帧早十个源帧185的源帧185、紧跟在最后一个用户请求的采样片段124中的时间顺序上的最后一个源帧185之后的源帧185。在第三实施方式中,起始源帧是未针对先前的用户请求的采样片段124进行代码转换的源帧185。在其他替换实施方式中,起始源帧可以是其他标识的源帧185。
[0120] 在一实施方式中,媒体解析器对起始源帧进行代码转换并且将所得经代码转换的帧存储在预览文件中346。
[0121] 在一实施方式中,在判定框348,确定是否存在超时;即,供媒体解析器对源帧进行代码转换的预定时间限制是否已经期满。如果是,则在一实施方式中,媒体解析器结束处理350。
[0122] 在判定框348,如果没有超时,则在一实施方式中,在判定框352,确定媒体解析器是否从机会主义的代码转换器接收到代码转换预览请求。如果否,则在一实施方式中,在判定框354,确定媒体解析器是否在它当前正在处理的源文件的末尾。如果否,则在一实施方式中,媒体解析器在源文件中标识要进行代码转换的下一源帧356,并且对该下一新源帧进行代码转换并将所得经代码转换的帧存储在预览文件中346。
[0123] 在判定框354,如果媒体解析器在它正在处理的源文件的末尾,则在一实施方式中,在判定框340,确定是否还有任何源帧要进行代码转换。
[0124] 在判定框352,如果媒体解析器已经接收到代码转换预览请求,则在一实施方式中,并且回头参考图3A,媒体解析器前往或以其他方式标识源文件中用于新代码转换预览请求的也被称为当前源帧的起始源帧316。
[0125] 再次参考图3B,在判定框320,如果代码转换片段中的当前源帧尚未进行代码转换,则对该当前源帧进行代码转换并将所得经代码转换的帧存储在预览文件中322。
[0126] 在一实施方式中,在判定框324,确定媒体解析器是否从机会主义的代码转换器接收到跳至代码转换片段中的下一新源帧的命令或通知。在一实施方式中,媒体解析器160可被指示跳至代码转换片段126中的下一新源帧185以支持预览器120向用户110输出预览片段125。
[0127] 在判定框324,如果媒体解析器已被指示跳至代码转换片段中的下一新源帧,则在一实施方式中,媒体解析器跳至所标识的下一新源帧326,并且在判定框320确定该下一新源帧是否已经进行了代码转换。
[0128] 在判定框324,如果媒体解析器未被指示跳至代码转换片段中的下一新源帧,则在一实施方式中,在判定框328,确定当前代码转换片段中是否还有任何源帧要进行代码转换。如果是,则在一实施方式中,媒体解析器前往代码转换片段中媒体解析器将对其进行代码转换的下一源帧(如果尚未进行代码转换的话),该下一源帧变成当前源帧334。在一实施方式中,要进行代码转换的下一源帧是代码转换片段126中从刚刚进行代码转换的源帧185开始的在时间顺序上的下一源帧185。在一替换实施方式中,要进行代码转换的下一源帧185是从刚刚进行代码转换的源帧185开始的预定或计算出的数量的源帧185。
[0129] 在一实施方式中,在判定框336,确定是否已经从机会主义的代码转换器向媒体解析器发出另一代码转换预览请求。如果是,则再次参考图3A,在一实施方式中,媒体解析器最终化对它正在处理的当前源帧的代码转换,并且将所得经代码转换的帧存储在预览文件中314。在一实施方式中,媒体解析器为新发出的代码转换预览请求前往代码转换片段中也被称为当前源帧的起始源帧316。
[0130] 在图3B的判定框336,如果未向媒体解析器发出代码转换预览请求,则在一实施方式中,在判定框320,确定当前源帧是否已经进行了代码转换。
[0131] 在判定框328,如果对当前代码转换片段没有要进行代码转换的源帧,则在一实施方式中,媒体解析器通知机会主义的代码转换器代码转换片段中将进行代码转换的所有源帧都已进行了代码转换330。
[0132] 再次参考图3A,在判定框300,如果不存在来自机会主义的代码转换器的代码转换预览请求,则在一实施方式中,在判定框302,确定媒体解析器是否从机会主义的代码转换器接收到代码转换编码请求;即,媒体解析器是否已被请求为输出文件对一个或多个源帧进行代码转换。如果否,则在一实施方式中,媒体解析器结束处理350。
[0133] 在判定框302,如果媒体解析器接收到代码转换编码请求,则在一实施方式中,媒体解析器前往或以其他方式标识要为输出文件进行代码转换的第一个源帧304。在一实施方式中,媒体解析器以所请求的质量(或者在没有所请求的质量的情况下以预定质量或可另选地是以其他方式标识的质量)对所标识的源帧进行代码转换,并将所得经代码转换的帧存储在预览文件中306。
[0134] 在一实施方式中,在判定框308,确定对输出文件是否还有源帧要进行代码转换。如果是,则在一实施方式中,媒体解析器前往或以其他方式标识要进行代码转换的下一源帧310。在一实施方式中,媒体解析器以适当的质量对该下一源帧进行代码转换并且将所得经代码转换的帧存储在预览文件中306。
[0135] 在判定框308,如果对输出文件没有源帧要进行代码转换,则在一实施方式中,媒体解析器通知机会主义的代码转换器用于输出文件的所请求的所有源帧都已进行代码转换312。参考图3C,在一实施方式中,在判定框340,然后确定是否还有任何源帧要进行代码转换。
[0136] 图4A-4B示出了用于OFC系统100的示例编码器170组件的示例逻辑流程。尽管参考在此所述的系统进行下面的讨论,但可在其它系统中实现所述操作。在此描述的操作不限于所示次序。另外,在其它替换实施方式中,可执行更多或更少的操作。此外,所描绘的操作可由示例编码器170、示例编码器170结合一个或多个其他OFC系统组件,或者由一个或多个其他OFC系统组件来执行。
[0137] 参考图4A,在一实施方式中,编码器从合成器接收生成输出文件的命令400。在一实施方式中,编码器使用决定列表来标识要包括在输出文件中的第一帧以及要应用于该第一帧的任何处理405。
[0138] 在判定框410,确定是否已经处理用于输出文件的所有帧;即,编码器是否已经标识要包括在输出文件中的所有帧。如果否,则在判定框415,确定要包括在输出文件中的所标识的当前帧是否已经进行代码转换以及在被指示的情况下是否已被处理;即,所标识的当前帧是否在预览文件中。如果否,则在一实施方式中,编码器将当前帧标识为要进行代码转换的源帧,并且如果被指示,则对该源帧应用一个或多个处理425。在一实施方式中,编码器使用决定列表来标识(如果有的话)要包括在输出文件中的时间顺序上的下一帧以及要应用于该下一帧的任何处理405。
[0139] 在判定框415,如果确定当前帧已经进行代码转换并且在被指示的情况下已对该当前帧应用所指示的处理,即,当前帧是预览帧,则在一实施方式中,在判定框420,确定经代码转换的帧是否具有可接受的质量。在一实施方式中,预览文件190中的经代码转换的帧192可能不具有对于输出文件135的最终质量,因为这些经代码转换的帧先前已经以较低质量进行代码转换,该较低质量对于预览是可接受的并且耗费较少的时间的精力来帮助确保更及时的预览会话。
[0140] 在判定框420,如果编码器当前关注的经代码转换的帧具有对于输出文件的可接受的质量,则在一实施方式中,编码器使用将对其应用任何指示的处理的对应的预览帧来包括在输出文件中430。在一实施方式中,编码器再次参考决定列表以标识要包括在输出文件中的下一帧以及要应用于该下一帧的任何处理405。
[0141] 在判定框420,如果编码器当前关注的经代码转换的帧不具有可接受的质量,则在一实施方式中,编码器将对应的源帧标识为要进行代码转换的源帧,并且在被指示的情况下对该源帧应用一个或多个处理425。在一实施方式中,编码器使用决定列表来标识(如果有的话)要包括在输出文件中的时间顺序上的下一帧以及要应用于该下一帧的任何处理405。
[0142] 在判定框410,如果已经处理用于输出文件的所有帧,则在一实施方式中并且参考图4B,在判定框435,确定是否存在用于输出文件的其对应的源帧将要进行代码转换的任何帧。如果否,则在一实施方式中,编码器对所得输出文件帧进行编码和/或压缩并存储最终化的输出文件455。在一实施方式中,编码器通知合成器已经生成输出文件460。在一实施方式中,编码器结束处理465。
[0143] 在判定框435,如果存在用于输出文件的将要进行代码转换的源帧,则在一实施方式中,编码器通知合成器媒体解析器将对所标识的一个或多个源帧进行代码转换440。在一实施方式中,在判定框445,确定编码器是否从合成器接收到用于输出文件的所请求的所有源帧都已进行代码转换并且在被指示的情况下对这些源帧应用指定处理的通知。如果是,则在一实施方式中,编码器将新处理的经代码转换的帧包括在输出文件中450,并且对所得输出帧进行编码和/或压缩并存储最终化的输出文件455。
[0144] 在判定框445,如果编码器尚未从合成器接收到用于输出文件的所请求的所有源帧都已进行代码转换并且按指示进行处理的通知,则在一实施方式中,编码器继续等待该来自合成器的通知445。
[0145] 图5A-5C示出了用于OFC系统100的示例合成器140组件的示例逻辑流程。尽管参考在此所述的系统进行下面的讨论,但可在其它系统中实现所述操作。在此描述的操作不限于所示次序。另外,在其它替换实施方式中,可执行更多或更少的操作。此外,所描绘的操作可由示例合成器140、示例合成器140结合一个或多个其他OFC系统组件,或者由一个或多个其他OFC系统组件来执行。
[0146] 参考图5A,在一实施方式中,在判定框500,确定合成器是否从UI接收到为用户采样片段生成预览片段的命令或通知。如果是,并且参考图5B,则在一实施方式中,在判定框530,确定是否存在足够的预览帧和/或经代码转换的帧可用于预览片段,该预览片段将构成可接受输出质量的预览片段以供用户预览。如果是,则在一实施方式中,合成器生成具有可用预览帧和/或经代码转换的帧的预览片段,对这些帧应用任何先前用户命令的处理532。在一实施方式中,合成器通知预览器可输出预览片段534。
[0147] 在一实施方式中,在判定框536,确定是否存在可被包括在预览片段中的任何预览帧并且是否被包括在预览片段中。在该实施方式中,虽然存在可用于对于用户请求的采样片段124的预览片段125的预览帧195和/或经代码转换的帧192,但在对应的代码转换片段126中可能存在尚未进行代码转换的源帧185,并且如果这些源帧进行代码转换,则可提高预览片段125的质量。
[0148] 在判定框536,如果可以为预览片段生成更多预览帧,则在一实施方式中,合成器向机会主义的代码转换器发送对当前用户请求的采样片段的代码转换预览请求538。在一实施方式中,合成器于是结束处理505。
[0149] 在判定框536,如果不存在用于预览片段的缺失的预览帧,则在一实施方式中,合成器结束处理505。
[0150] 在判定框530,如果不存在可用于当前预览片段的代码转换或预览帧,则在一实施方式中并且参考图3C,合成器向机会主义的代码转换器发送对当前用户请求的采样片段的代码转换预览请求570。在一实施方式中,合成器在经代码转换的帧可用时(即,在对应的源帧已由媒体解析器进行代码转换并被存储在其中合成器可访问这些源帧的预览文件中时)生成具有这些帧的预览片段572。
[0151] 在一实施方式中,在判定框574,确定合成器是否从机会主义的代码转换器接收到对于当前预览请求的源帧已经进行代码转换的通知或某一信号或指示。如果否,则在一实施方式中,合成器继续在经代码转换的帧变得可用时生成具有这些帧的预览片段572。
[0152] 在判定框574,如果合成器已经被通知媒体解析器已经对用于当前预览片段的源帧进行代码转换,则在一实施方式中,合成器最终化生成具有经代码转换的可用帧的预览片段并且根据先前的用户命令来应用任何处理576。在一实施方式中,合成器通知预览器可向用户输出预览片段578并结束处理505。
[0153] 再次参考图5A,在判定框500,如果合成器未接收到生成预览片段的请求,则在一实施方式中,在判定框502,确定合成器是否从UI接收到修改一个或多个预览帧的命令。在一实施方式中,用户可请求通过对一个或多个预览帧应用处理(例如,淡入、淡出等)、对预览帧进行重新排序来修改一个或多个预览帧。如果合成器接收到修改一个或多个预览帧的命令,则在一实施方式中并且参考图5B,合成器按指示修改所指示的预览帧550。在一实施方式中,合成器在预览片段中包括用于该预览片段的自从合成器上一次生成或修改预览片段以来变得可用的任何新经代码转换的帧552。在一实施方式中,合成器适当地对预览片段中的新添加的经代码转换的帧应用任何用户指定的处理。
[0154] 在一实施方式中,合成器更新决定列表以标识对任何预览帧作出的任何改变、对预览片段的经代码转换的帧添加、以及对任何新添加的经代码转换的帧作出的任何改变554。在一实施方式中,合成器生成新预览片段或可另选地修改现有预览片段以反映作出的改变556。在一实施方式中,合成器通知预览器准备好向用户输出预览片段558并且合成器最终化处理505。
[0155] 再次参考图5A,在判定框502,如果不存在修改一个或多个预览帧的命令,则在一实施方式中,在判定框504,确定UI是否已经向合成器发出生成输出文件的命令。如果否,则在一实施方式中,最终化合成器处理505。
[0156] 如果合成器接收到生成输出文件的命令,则在一实施方式中,合成器通知或以其他方式命令编码器生成所请求的输出文件506。在一实施方式中,在判定框508,确定编码器是否已经通知合成器需要为输出文件对一个或多个源帧进行代码转换。如果是,则在一实施方式中,合成器向机会主义的代码转换器发送标识要进行代码转换的源帧的编码请求,并且在被请求的情况下发送要应用于这些源帧的代码转换质量512。
[0157] 在一实施方式中,在判定框514,确定所请求的源帧是否已进行代码转换。如果否,则在一实施方式中,合成器等待直到所请求的源帧已进行代码转换514。一旦所请求的源帧已进行代码转换,则在一实施方式中,合成器使用决定列表来确定是否要对刚刚为输出文件进行代码转换的任何经代码转换的帧应用任何处理,并且如果是,则对所标识的经代码转换的帧应用所指示的处理516。
[0158] 在一实施方式中,合成器通知编码器所请求的源帧已进行代码转换518。在一实施方式中,在判定框510,确定编码器是否完成生成输出文件。如果是,则在一实施方式中,最终化合成器处理505。
[0159] 在判定框510,如果编码器未最终化输出文件,则在一实施方式中,在判定框508,确定编码器是否需要为输出文件对一个或多个源帧进行代码转换。如果否,则在一实施方式中,在判定框510,确定编码器是否最终化生成输出文件。
[0160] 虽然在此处所讨论的各实施方式中,任务已被分配给示例OFC系统100的所标识的各个组件,但在其他实施方式中,所述任务可由其他和/或附加组件执行。例如,在另一实施方式中,机会主义的代码转换器150和媒体解析器160的任务可被组合并由媒体解析器来执行。作为另一示例,在又一实施方式中,机会主义的代码转换器150和合成器140的任务可被组合并由合成器来执行。在还有一些其他示例和实施方式中,可将任务分配给其他和/或不同的系统组件。
[0161] 计算设备系统配置
[0162] 图6是示出其上可实现一实施方式的示例性计算设备系统600的框图。计算设备系统600包括用于传递信息的总线605或其它机制,以及与总线605耦合的用于处理信息的处理单元610。计算设备系统600还包括系统存储器615,它可以是易失性或动态的,诸如随机存取存储器(RAM),也可以是非易失性或静态的,诸如只读存储器(ROM)或闪存,或者可以是两者的某种组合。系统存储器615耦合到总线605以便存储由处理单元610执行的信息与指令,并且还可用于在处理单元610执行指令期间存储临时变量或其它中间信息。系统存储器615通常包含操作系统以及一或多个程序,并且还包括程序数据。
[0163] 在一实施方式中,存储设备620,诸如磁盘或光盘,也耦合到总线605以便存储信息,包括包含指令和/或数据的程序代码。
[0164] 计算设备系统600通常包括一或多个显示设备635,诸如但不限于显示屏,例如阴极射线管(CRT)或液晶显示器(LCD)、打印机以及一或多个扬声器,用于向计算设备用户提供信息。计算设备系统600通常还包括一或多个输入设备630,诸如但不限于键盘、鼠标、跟踪球、笔、语音输入设备和触摸输入设备,计算设备用户可使用它们来将信息与命令选择传递至处理单元610。所有这些设备在本领域是已知的并且在此不必详述。
[0165] 处理单元610执行包含在系统存储器615中的一或多个程序指令的一或多个序列。这些指令可从包括但不限于存储设备620的另一计算设备可读介质读取到系统存储器620中。在替换实施方式中,可使用硬连线电路来代替软件程序指令或结合软件程序指令使用硬连线电路。计算设备系统环境不限于硬件电路和/或软件的任何特定组合。
[0166] 如此处所使用的术语“计算设备可读介质”指的是可参与向处理单元610提供程序指令以便于执行的任何介质。这样的介质可采取许多形式,包括但不限于存储介质和传输介质。存储介质的示例包括但不限于:RAM、ROM、EEPROM、闪存、CD-ROM、数字多功能盘(DVD)、磁带盒、磁带、磁盘存储或任何其它磁性介质,软盘、软磁盘、穿孔卡、纸带或具有孔图案的任何其它物理介质,存储器芯片或盒式磁带。计算设备系统600的系统存储器615和存储设备620是存储介质的附加示例。传输介质的示例包括但不限于:诸如同轴电缆、铜线和光纤等有线介质,以及诸如光信号、声学信息、射频(RF)信号和红外信号等无线介质。
[0167] 计算设备系统600还包括耦合到总线605的一或多个通信连接650。通信连接650提供从计算设备系统600耦合至局域网(LAN)665和/或包括万维网或因特网670在内的广域网(WAN)上的其它计算设备的双向数据通信。通信连接650的示例包括但不限于:综合业务数字网(ISDN)卡、调制解调器、LAN卡以及能够发送和接收电、电磁、光、声学、RF或红外信号的任何设备。
[0168] 计算设备系统600还包括耦合到总线605的一个或多个通信连接650,该一个或多个通信连接提供耦合在计算设备系统600与连接到该计算设备系统和/或与该计算设备系统通信的其他设备之间的单向或双向数据通信。这样的其他设备的示例包括但不限于:摄像机155、磁带盘165、CD 175、照相机、录像机、视频捕捉和转换设备等。
[0169] 由计算设备系统600接收到的通信可包括程序指令和程序数据。计算设备系统600接收到的程序指令可由程序单元610在接收到它们时执行,和/或存储在存储设备620或其它非易失性存储中以供稍后执行。
[0170] 结论
[0171] 尽管在此描述了各种实施方式,但这实施方式仅作为示例提供,而并非旨在限制所要求保护主题的范围。保持在所附权利要求书的范围内的许多变体是可能的。这些变体在审查这里的说明书、附图和权利要求书之后是清楚的。因此,除了用以下权利要求书及其等效方案来限定之外,所要求保护主题的宽度和范围不受限制。
高效检索全球专利

IPRDB是专利检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,专利查询、专利分析

电话:13651749426

侵权分析

IPRDB的侵权分析产品是IPRDB结合多位一线专利维权律师和专利侵权分析师的智慧,开发出来的一款特色产品,也是市面上唯一一款帮助企业研发人员、科研工作者、专利律师、专利分析师快速定位侵权分析的产品,极大的减少了用户重复工作量,提升工作效率,降低无效或侵权分析的准入门槛。

立即试用