减轻视听资源中的偏移的制作方法

文档序号:15072817发布日期:2018-08-01 00:18阅读:149来源:国知局

本申请要求于2015年8月31日提交的序列号为14/841,533的美国专利申请的权益,其通过引用合并于此。

本发明的实施例一般涉及视听处理,并且更具体地涉及减轻视听资源中的偏移。



背景技术:

随着高带宽互联网连接可用性的扩大,通过互联网的流式数字编码的视听(av)节目(诸如,特征长电影和电视节目)变得日益流行。流媒体服务通常包括内容服务器、内容播放器、以及将内容服务器连接到内容播放器的通信网络。内容服务器被配置为存储可供终端用户使用的媒体文件(或“流”)。每个媒体文件可以提供电影、电视节目、体育赛事、由录制的视频捕获的演出或现场事件等的数字版本。

通常,视听材料被编辑作为后期制作过程的一部分,以便将这些材料转换成一个或多个媒体文件以分发给终端用户。这些媒体文件通常作为流媒体服务的一部分或通过更传统的物理媒体链路进行分发。视听材料的编辑出于多种原因,例如包括用于传达作者的创意、为符合评级删除某些场景、或包括不属于特征演示部分的演绎。与这种编辑相关的元数据通常与视听材料一起提供,以便于辅助将视听材料转换成(一个或多个)媒体文件,然后可以将其分发给终端用户。

上述方法的一个缺点是作者指定的给定处理编辑可以当该编辑进入或退出非采样边界处的组成轨道时在构成该视听材料的音频和视频轨道之间引入时间偏移。当在得到的媒体文件的持续时间内进行累积时,对视听材料的多次编辑会在音频轨道和视频轨道之间产生可察觉的滞后或前置,这降低了质量并可能导致不良的用户体验。

如前所述,用于编辑视听材料的改进技术将是有用的。



技术实现要素:

本发明的一个实施例提出了一种用于减轻视听资源中的偏移的方法。该方法包括

确定与演示时间轴(presentationtimeline)相关联的编辑处于视频帧的边界内。该方法还包括计算与该编辑相关联的时间偏移,其中,该时间偏移包括该编辑与该视频帧的边界之间的持续时间。该方法还包括基于该时间偏移和与演示时间轴相关联的累积时间偏移来确定是否将该视频帧包括在该演示时间轴中。

除此之外,另一实施例提供了被配置为实施上述方法的非暂态计算机可读介质和控制服务器。

所公开的技术的至少一个优点是处理与演示时间轴相关联的编辑,以减少包括在演示时间轴中的音频轨道和视频轨道之间的时间偏移。此外,当将媒体文件的相应的部分发送到端点设备时,通过将指定累积时间偏移的元数据发送到端点设备,可以减轻与非采样边界编辑相关联的任何得到的时间偏移对终端用户观看体验的负面影响。端点设备可以解析元数据并且补偿累积时间偏移,例如,通过修改与端点设备相关联的音频延迟参数。

附图说明

为了能够详细理解本发明的上述特征的方式,可以通过参考实施例来利用以上简要总结的对发明的更具体描述,其中一些实施例被示出在附图。然而,应当注意,附图仅示出了本发明的典型实施例,因此不应被视为限制其范围,因为本发明可以允许其他等效实施例。

图1示出了被配置为实现本发明的一个或多个方面的网络架构设施;

图2是根据本发明的各种实施例的图1的内容服务器的框图;

图3是根据本发明的各种实施例的图1的控制服务器的框图;

图4是根据本发明的各种实施例的图1的端点设备的框图;

图5是根据本发明的各种实施例的通过编辑视频轨道和音频轨道生成的演示时间轴的概念图。

图6a-6c是根据本发明的各种实施例的在生成图5的演示时间轴时对视频轨道进行的非帧边界编辑的概念图;

图7是根据本发明的各种实施例的在图5的演示时间轴中生成时产生的累积时间偏移的概念图;

图8示出了根据本发明的各种实施例的用于计算在媒体文件中的累积时间偏移的方法步骤的流程图;

图9示出了根据本发明的各种实施例的用于将与媒体文件相关联的累积时间偏移信息传输到端点设备的方法步骤的流程图;

图10示出了根据本发明的各种实施例的用于从内容服务器接收与媒体文件相关联的累积时间偏移信息的方法步骤的流程图。

具体实施方式

在以下描述中,阐述了许多具体细节以提供对本发明的实施例的更透彻的理解。然而,对于本领域技术人员显而易见的是,可以在没有这些具体细节中的一个或多个的情况下实践本发明的实施例。

图1示出了被配置为实现本发明的一个或多个方面的网络基础架构100。如图所示,网络基础架构100包括内容服务器110、控制服务器120和端点设备115,其中的每一个通过通信网络105连接。

每个端点设备115通过网络105与一个或多个内容服务器110(也被称为“缓存”或“节点”)通信用来下载内容,诸如文本数据、图形数据、音频数据、视频数据、和其他类型的数据。然后,在此也称为“媒体文件”的可下载内容被呈现给一个或多个端点设备115的用户。在各种实施例中,端点设备115可以包括计算机系统、机顶盒、移动计算机、智能手机、平板电脑、控制台和手持式视频游戏系统、数字录像机(dvr)、dvd播放器、连接的数字电视、专用媒体流设备(例如机顶盒)和/或具有网络连接性并且能够向用户呈现诸如文本、图像、视频和/或音频内容的任何其他技术上可行的计算平台。

每个内容服务器110可以包括web服务器、数据库和服务器应用217,其被配置为与控制服务器120通信以确定由控制服务器120跟踪和管理的各种媒体文件的位置和可用性。每个内容服务器110可进一步与填充源130和一个或多个其他内容服务器110通信,以便用各种媒体文件的副本“填充”每个内容服务器110。此外,内容服务器110可以响应对从端点设备115接收的媒体文件的请求。然后可以从内容服务器110或通过更广泛的内容分发网络来分发媒体文件。在一些实施例中,内容服务器110使得用户能够认证(例如,使用用户名和密码)从而访问存储在内容服务器110上的媒体文件。尽管在图1中仅示出单个控制服务器120,但在各种实施例可以实现多个控制服务器120来跟踪和管理媒体文件。

在各种实施例中,填充源130可以包括在线存储服务(例如,simplestorageservice(亚马逊简单存储服务)、cloudstorage(谷歌云存储)等),其中包括数千或数百万个媒体文件的文件目录被存储和访问,以便填充内容服务器110。尽管在图1中仅示出了单个填充源130,但是在各种实施例中,可以实现多个填充源130以服务对媒体文件的请求。

图2是根据本发明的各种实施例的图1的内容服务器110的框图。如所示出的,内容服务器110包括但不限于中央处理单元(cpu)204、系统盘206、输入/输出(i/o)设备接口208、网络接口210、互连212以及系统存储器214。

cpu204被配置为获取并执行存储在系统存储器214中的编程指令,例如服务器应用217。类似地,cpu204被配置为存储应用数据(例如,软件库)并从系统存储器214中获取应用数据。互连212被配置为便于在cpu204、系统盘206、i/o设备接口208、网络接口210和系统存储器214之间数据的传输,诸如编程指令和应用数据214。i/o设备接口208被配置为从i/o设备216接收输入数据并且通过互连212将输入数据发送到cpu204。例如,i/o设备216可以包括一个或多个按钮、键盘、鼠标和/或其他输入设备。i/o设备接口208还被配置为通过互连212从cpu204接收输出数据并将该输出数据发送到i/o设备216。

系统盘206可以包括一个或多个硬盘驱动器、固态存储设备或类似的存储设备。系统盘206被配置为存储诸如媒体文件218(例如,音频文件、视频文件、字幕等)的非易失性数据。然后,媒体文件218可以通过网络105由一个或多个端点设备115获取。在一些实施例中,网络接口210被配置为遵从以太网标准操作。

系统存储器214包括服务器应用217,该服务器应用217被配置为服务于对从端点设备115和其他内容服务器110接收到的媒体文件218的请求。当该服务器应用217接收到对媒体文件218的请求时,服务器应用217获取来自系统盘206的相应媒体文件218,并且通过网络105将媒体文件218发送到端点设备115或内容服务器110。

图3是根据本发明的各种实施例的图1的控制服务器120的框图。如图所示,控制服务器120包括但不限于中央处理单元(cpu)304、系统盘306、输入/输出(i/o)设备接口308、网络接口310、互连312以及系统存储器314。

cpu304被配置为获取并执行存储在系统存储器314中的编程指令,诸如控制应用317。类似地,cpu304被配置为存储应用数据(例如,软件库)并从系统存储器314中获取应用数据和存储在系统盘306中的数据库318。互连312被配置为辅助在cpu304、系统盘306、i/o设备接口308、网络接口310、和系统之间数据存储器314的传输。i/o设备接口308被配置为通过互连312在i/o设备316和cpu304之间发送输入数据和输出数据。系统盘306可以包括一个或多个硬盘驱动器、固态存储设备等。系统盘206被配置为存储与内容服务器110、(一个或多个)填充源130和媒体文件218相关联的信息的数据库318。

系统存储器314包括控制应用317,该控制应用317被配置为访问存储在数据库318中的信息并且处理该信息,以确定在网络基础架构100中包括的内容服务器110上将复制特定媒体文件218的方式。系统存储器314还包括媒体处理应用319,该媒体处理应用319被配置为基于视听材料和指定如何编辑视听材料以生成媒体文件218的信息来生成一个或多个媒体文件218。例如,在各种实施例中,为了生成媒体文件218而对音频轨道和/或视频轨道进行的编辑可以在被包括在音频轨道和/或视频轨道中或以其他方式与音频轨道和/或视频轨道一起提供的元数据中指定。

图4是根据本发明的各种实施例的图1的端点设备115的框图。如图所示,端点设备115可以包括但不限于cpu410、图形子系统412、i/o设备接口414、大容量存储单元416、网络接口418、互连422和存储器子系统430。

在一些实施例中,cpu410被配置为获取和执行存储在存储器子系统430中的编程指令。类似地,cpu410被配置为存储和获取驻留在存储器子系统430中的应用数据(例如,软件库)。互连422被配置为辅助在cpu410、图形子系统412、i/o设备接口414、大容量存储单元416、网络接口418和存储器子系统430之间数据(诸如编程指令和应用数据)的传输。

在一些实施例中,图形子系统412被配置为生成视频数据帧并将视频数据帧发送到显示设备450。在一些实施例中,图形子系统412可以与cpu410一起集成到集成电路中。显示设备450可以包括用于生成用于显示的图像的任何技术上可行的装置。例如,显示设备450可以使用液晶显示(lcd)技术、阴极射线技术和发光二极管(led)显示技术来制造。输入/输出(i/o)设备接口414被配置为从用户i/o设备452接收输入数据,并且通过互连422将输入数据发送到cpu410。例如,用户i/o设备452可以包括一个或多个按钮、键盘和鼠标或其他指针设备。i/o设备接口414还包括被配置为生成电子音频输出信号的音频输出单元。用户i/o设备452包括配置成响应于电子音频输出信号而生成声学输出的扬声器。在替代实施例中,显示装置450可以包括扬声器。电视机是本领域已知的可以显示视频帧并且生成声音输出的设备的示例。

大容量存储单元416(诸如,硬盘驱动器或闪存存储器驱动器)被配置为存储非易失性数据。网络接口418被配置为通过网络105发送和接收数据分组。在一些实施例中,网络接口418被配置为使用众所周知的以太网标准进行通信。网络接口418通过互连422耦合到cpu410。

在一些实施例中,存储器子系统430包括编程指令和应用数据,其包括操作系统432、用户接口434和回放应用436。操作系统432执行系统管理功能,诸如管理包括网络接口418、大容量存储单元416、i/o设备接口414和图形子系统412的硬件设备。操作系统432还为用户接口434和回放应用436提供处理和存储器管理模型。用户接口434(诸如窗口和对象隐喻)提供了用于与端点设备108进行用户交互的机制。本领域技术人员将认识到本领域中众所周知的并且适合于并入端点设备108中的各种操作系统和用户界面。

在一些实施例中,回放应用436被配置为通过网络接口418请求和接收来自内容服务器105的内容。此外,回放应用436被配置为通过显示设备450和/或用户i/o设备452解释内容并呈现内容。

视听资源偏移的减轻

如上所述,视听材料经常被编辑作为后期制作过程的一部分,从而将视听材料转换成媒体文件218用于分发给终端用户。视听材料的编辑可以针对多种原因被执行,例如用于更精确传达作者的创意、为符合评级删除某些场景、和/或包括不属于特征演示部分的演绎。与这种编辑相关的元数据通常与视听材料一起提供,从而辅助将视听材料处理成传达作者的创作意图的一个或多个媒体文件218。

然而,在某些情况下,用于处理对视听材料的编辑的常规技术可能引入音频轨道和视频轨道之间的时间偏移。特别地,当编辑未能进入(或退出)采样边界处的音频轨道和/或视频轨道(例如,当编辑落在音频帧和/或视频帧的边界内)时,偏移被引入到演示时间轴中,并因此导入基于演示时间轴生成的媒体文件218中。此外,当随演示时间轴的持续时间积累时,对视听材料的多个非采样边界编辑可能在音频轨道和视频轨道之间产生可察觉的滞后或前置,导致不良的用户体验。

因此,在各种实施例中,媒体处理应用319可通过针对每个非采样边界编辑来确定相应的音频帧和/或视频帧是否应当被包括在演示时间轴中或从演示时间轴中排除,以减少在演示时间轴的持续时间内累积时间偏移的量值。此外,在一些实施例中,媒体处理应用319还通过生成指定媒体文件218每个部分的累积时间偏移的元数据,来减轻积累的时间偏移对用户体验的影响。然后,元数据被发送到将播放媒体文件218的端点设备115,使端点设备115能够例如通过调整与端点设备115相关联的音频延迟参数来补偿累积时间偏移。

因为在典型的媒体文件218中(例如,具有24到30帧/秒的视频帧速率和44,100到48,000帧/秒的音频帧速率),每个视频帧的持续时间比每个音频帧的持续时间长几个数量级,下面描述的技术主要关注包括或排除视频帧。然而,下面描述的每种技术还适用于确定是否包括或排除与非采样边界编辑相关联的音频帧。更具体地,落入音频帧的边界内的编辑可以相对地接近于该音频帧的边界中的一个(例如,对于48khz音频采样率,约为20微秒或更少)。相反,落入视频帧的边界内的编辑可以相对地远离该视频帧的边界中的一个(例如,对于30视频帧/秒,高达约30毫秒)。因此,下面描述的技术可以被实现为确定是否包括或排除由与演示时间轴相关联的特定编辑所分隔的视频帧和/或音频帧。

图5是根据本发明的各种实施例的通过编辑视频轨道520和音频轨道530而生成的演示时间轴510的概念图。如图所示,演示时间轴510包括视频轨道520的第一视频部分522和第二视频部分524以及音频轨道530的第一音频部分532和第二音频部分534。第一视频部分522、第二视频部分524、第一音频部分532和第二音频部分534中的每一个包括进入编辑(entryedit)512(例如进入编辑512-1、进入编辑512-2等)和退出编辑(exitedit)514(例如退出编辑514-1、退出编辑514-2等)。

通常,输入编辑512和退出编辑514可以以任何技术上可行的方式指定。例如,每个进入编辑512和退出编辑514可以在与演示时间轴510相关联的元数据中指定和/或在与视频轨道520和/或音频轨道530相关联的元数据中指定。为了解释清楚,图5仅包括单个视频轨道520和单个音频轨道530。然而,在其他实施例中,演示时间轴510的每个部分可以指定与任何数量的视频轨道520和/或音频轨道530相关联的编辑。此外,为了解释清楚,下面描述的实施例假定视频轨道520具有30帧/秒的速率。然而,在其他实施例中,可以实现任何技术上可行的帧速率,包括可变帧速率。

图5描绘了视频轨道520(例如,512-1和514-1)的每个进入编辑512和退出编辑514,其在时间上与音频轨道530的相应的进入编辑512和退出编辑514(例如,512-2和514-2)对齐。然而,在一些实施例中,视频轨道520的进入编辑512和/或退出编辑514可以在时间上与音频轨道530的相应的进入编辑512和/或退出编辑514不对齐。例如,参照图5,视频部分522可以对应于视频轨道520的第一时间间隔(例如,从t=0秒到t=4秒),并且音频部分532可以对应于与第一时间间隔部分重叠(例如,从t=2秒到t=6秒)或非重叠(例如,从t=7秒到t=11秒)的音频轨道530的第二时间间隔。此外,视频部分522,524和音频部分532,534中的一者或两者可对应于视频轨道520和/或音频轨道530的多个时间间隔。例如,参照图5,视频部分522可以对应于视频轨道520的单个时间间隔(例如,从t=0秒到t=4秒),并且音频部分532可以对应于音频轨道530的多个不连续时间间隔(例如,从t=0秒到t=2秒,从t=5秒到t=7秒)。因此,当生成演示时间轴510时,可以灵活地指定进入编辑512和退出编辑514。

图6a-6c是根据本发明的各种实施例的当生成图5的演示时间轴510时对视频轨道520做出的非帧边界编辑的概念图。如图6a所示,第一视频部分522的退出编辑514-1落入视频帧610-1的边界内。因此,如果维持恒定的视频帧速率,则媒体处理应用319必须确定在处理退出编辑514-1时视频帧610-1是否应该被包括在演示时间轴510中或从演示时间轴510中排除。

如果视频帧610-1被包括在演示时间轴510中,则将在演示时间轴510中生成约10毫秒(例如+10毫秒的时间偏移)的滞后时间614-1。另一方面,如果视频帧610-1从演示时间轴510中被排除,则将在演示时间轴中510生成约23毫秒(例如,-23毫秒的时间偏移)的前置时间614-1。虽然本文讨论的技术参考“秒”(例如,毫秒)进行描述,但是在其他实施例中,这些技术可以实现任何技术上可行的时间单位(例如,滴答(tick))。

在各种实施例中,对于每个编辑(例如,进入编辑512和退出编辑514),媒体处理应用319基于相对于视频帧610的边界的编辑的位置,来确定是否包括或排除由该编辑所间隔的视频帧610。此外,当确定是否包括或排除由编辑所间隔的视频帧610时,媒体处理应用319还可以考虑演示时间轴510中的编辑位置处的累积时间偏移。例如,媒体处理应用319可以基于视频帧610的包括(或排除)是否将导致累积时间偏移超过阈值(例如,或10到100毫秒的滞后时间和/或前置时间),来确定将包括还是排除视频帧610。

或者,媒体处理应用319可以基于哪个结果将导致具有较低量值的累积时间偏移来确定是包括还是排除视频帧610。在具体示例中,参考退出编辑514-1,媒体处理应用319可以确定视频帧610-1应该被包括,因为包括视频帧610-1将导致累积时间偏移具有较低的量值(例如,约10毫秒的延迟时间614-1),该量值比通过排除视频帧610-1所生成的累积时间偏移(例如,约23毫秒的前置时间612-1)。

此外,在一些实施例中,当处理每个编辑时,媒体处理应用319可以被偏置向维持正积累时间偏移(滞后时间614)或负累积时间偏移(前置时间612)。可以基于用户是否更可能注意到正积累时间偏移或负负累积时间偏移来实现这样的偏置。为了实现这样的偏置,媒体处理应用319可以向正累积时间偏移(阈值滞后时间)分配第一阈值,并且将具有较低量值的第二阈值分配给负累积时间偏移(阈值前置时间)。然后,对于每个编辑,媒体处理应用319将确定包括或排除相应的视频帧610是否会导致累积时间偏移超过第一阈值或第二阈值。

回到图6a,媒体处理应用319确定视频帧610-1应该被包括。因此,当第一视频部分522被添加到演示时间轴510时,退出编辑514-1生成约10毫秒的累积时间偏移(约10毫秒的滞后时间614-1),如图7所示,图7是根据本发明的各种实施例的当在图5的演示时间轴510中生成时,产生的累积时间偏移的概念图。如上所述,当将第一视频部分522添加到演示时间轴510时包括视频帧610-1的决定,可以基于媒体处理应用319确定包括视频帧610-1将导致具有比排除视频帧610-1更低的量值的累积时间偏移。

如图5所示,与第一视频部分522相关联的进入编辑512-1与视频帧边界(即,包括在视频轨道520中的第一视频帧610的最左边界)对齐。因此,如图7所示,当媒体处理应用319处理进入编辑512-1时,在演示时间轴510中不引起时间延迟。

与进入编辑512-1相反,第二视频部分524的进入编辑512-3落入视频帧610-2的边界内,如图6b所示。因此,如果要保持恒定的视频帧速率,则媒体处理应用319必须确定视频帧610-2应该被包括在演示时间轴510中或从演示时间轴510中排除。如果视频帧610-2被包括在演示时间轴510中,则约13毫秒(例如,+13毫秒的时间偏移)的滞后时间614-2将被添加到与演示时间轴510相关联的累积时间偏移。另一方面,如果视频帧610-2被从演示时间轴510中排除,则将从与演示时间轴510相关联的累积时间偏移中减去约20毫秒(例如,-20毫秒的时间偏移)的前置时间612-2。

在一些实施例中,媒体处理应用319可以确定视频帧610-2的包括是否会导致累积时间偏移超过阈值滞后时间705。如果视频帧610-2的包括不会导致累积时间偏移超过阈值滞后时间705,则视频帧610-2被包括在演示时间轴510中。该结果在图7中示出,图7示出了在演示时间轴510中视频帧610-1和视频帧610-2两者的包括生成约23毫秒的累积时间偏移。

接下来,如图6c所示,媒体处理应用319确定第二视频部分524的退出编辑514-3落入视频帧610-3的边界内。因此,如果要保持恒定的视频帧速率,则媒体处理应用319必须确定视频帧610-3是应该被包括在演示时间轴510中还是从演示时间轴510中排除。如果视频帧610-3被包括在演示时间轴510中,则约15毫秒的滞后时间614-3(例如,+15毫秒的时间偏移)将被添加到与演示时间轴510相关联的累积时间偏移。另一方面,如果视频帧610-3从演示时间轴510中被排除,则将从与演示时间轴510相关联的累积时间偏移中减去约18毫秒的前置时间612-3(例如,-18毫秒的时间偏移)。

在一些实施例中,媒体处理应用319可以确定视频帧610-3的包括将导致累积时间偏移超过阈值滞后时间705,如图7所示。因此,在这样的实施例中,视频帧610-3将从演示时间轴510中排除,从而累积时间偏移从约23毫秒减少到约5毫秒。

尽管在图5中未示出,但是演示时间轴510还可以包括与第二视频部分相邻的第三视频部分和与第三视频部分相邻的第四视频部分。然后,如图7所示,媒体处理应用319可以确定与第三视频部分的进入编辑512相关联的视频帧610将被包括,使得从积累时间偏移减去约7毫秒的前置时间612-4。因此,在处理与第三视频部分相关联的进入编辑512之后,演示时间轴510将具有负累积时间偏移(前置时间)。

此外,还如图7所示,与第三视频部分相关联的退出编辑514和与第四视频部分相关联的进入编辑512还可以将演示时间轴510的累积时间偏移减少前置时间612-5和前置时间612-6。然后,在处理与第四视频部分相关联的退出编辑514时,媒体处理应用319确定相应的视频帧610的排除将导致约20毫秒的前置时间612-7,使得累积时间偏移降低至低于前置时间阈值710。因此,媒体处理应用319确定与第四视频部分的退出编辑514相关联的视频帧610应该被包括在演示时间轴510中,使得累积时间偏移的幅度减少约13毫秒的滞后时间614-7。然后,媒体处理应用319以相似的方式继续处理与后续视频部分相关联的每个进入编辑512和退出编辑514。

虽然图5-7中实现的技术是朝向滞后阈值时间705(例如,通过包括视频帧610)或朝向前置阈值时间710(例如,通过排除视频帧610)进行,直到滞后阈值时间705或前置阈值时间710将被超过,在其他实施例中,媒体处理应用319可以决定包括或排除视频帧610,这取决于累积时间偏移当前是正还是负(例如,高于或低于零)。例如,如果当特定进入编辑512或退出编辑514正在被处理时累积时间偏移当前为正,则媒体处理应用319可以确定相应的视频帧610应该被排除。另一方面,如果当特定的进入编辑512或退出编辑514正在被处理时累积时间偏移当前为负,则媒体处理应用319可以确定相应的视频帧610应该被包括。在一些实施例中,基于累积时间偏移当前是正还是负来确定是包括还是排除视频帧610的这个过程,可以对媒体处理应用319处理的每个编辑执行。因此,这样的技术可以使得媒体处理应用319保持接近零的累积时间偏移。

在其他实施例中,媒体处理应用319可以根据累积时间偏移当前是高于还是低于特定阈值来决定包括或排除视频帧610。例如,如果当特定进入编辑512或退出编辑514正在被处理时累积时间偏移当前高于阈值(例如30毫秒),则媒体处理应用319可以确定相应的视频帧610应该被排除。另一方面,如果当特定进入编辑512或退出编辑514正在被处理时累积时间偏移当前低于阈值,则媒体处理应用319可以确定对应的视频帧610应该被包括。在一些实施例中,基于累积时间偏移当前是高于还是低于阈值来确定是包括还是排除视频帧610的这个过程,可以针对由媒体处理应用319处理的每个编辑而执行。因此,这样的技术可以使得媒体处理应用319保持接近阈值的累积时间偏移。

在各种实施例中,媒体处理应用319还可以通过实现与处理上述输入编辑512和退出编辑514所实现的技术类似的技术来处理留驻编辑和空编辑。例如,当指定特定图像应该在演示时间轴510中被显示特定的时间段的驻留编辑具有不是视频帧持续时间的整数倍的持续时间(例如,对于30帧/秒,约为33毫秒),则媒体处理应用319可以通过向上舍入到最接近的整数倍来包括视频帧610。或者,媒体处理应用319可以通过向下舍入到最接近的整数倍来排除视频帧610。类似地,当指定演示时间轴510应该被延迟或暂停的持续时间的空编辑具有不是视频帧持续时间的整数倍的持续时间时,则媒体处理应用319可以通过向上舍入到最接近的整数倍来包括视频帧或通过向下舍入到最接近的整数倍来排除视频帧610。

在又一些实施例中,除了(或除此之外还)包括和排除整个视频帧610,媒体处理应用319可以通过调整演示时间轴510的帧速率来包括或排除视频帧610的部分。例如,一旦遇到落入视频帧610的边界内的进入编辑512时,媒体处理应用319可以确定视频帧速率,该视频帧速率将使视频帧610能够以在进入编辑512的位置和视频帧610的最右边界之间的持续时间被回放。此外,在遇到落入视频帧610的边界内的退出编辑514时,媒体处理应用319可确定视频帧速率,该视频帧速率将使得视频帧610能够以在退出编辑514的位置和视频帧610的最左边界之间的持续时间被回放。然后,媒体处理应用319可以将修改的视频帧速率存储在与演示时间轴510和/或所得媒体文件218的(一个或多个)相应部分相关联的元数据中,使客户端设备能够以可变帧速率播放媒体文件218。

图8示出了根据本发明的各种实施例的用于计算媒体文件218中的累积时间偏移的方法步骤的流程图。虽然结合图1至图7的系统描述了方法步骤,但本领域技术人员将理解,配置为以任何顺序执行方法步骤的任何系统都落入本发明的范围内。

如图8所示,方法800在步骤810开始,其中媒体处理应用319接收与演示时间轴510相关联的编辑(例如,进入编辑512或退出编辑514)。在步骤820处,媒体处理应用319确定该编辑是否落入视频帧610的边界内。如果媒体处理应用319确定该编辑落在视频帧610的边界内,则方法800进行到步骤830,其中媒体处理应用319计算与该编辑相关联的一个或多个时间偏移。例如,媒体处理应用319可以计算当视频帧610被包括在演示时间轴510中时的第一时间偏移和当视频帧610从演示时间轴510中被排除时的第二时间偏移。

在步骤840处,媒体处理应用319基于由步骤830计算的(一个或多个)时间偏移、与邻近编辑位置的演示时间轴510相关联的累积时间偏移、以及一个或多个可选阈值(例如,滞后时间阈值705和/或前置时间阈值710),来确定是否包括由编辑间隔的视频帧610。通常,在步骤840处,媒体处理应用319可以实现任何所描述的技术,诸如确定时间偏移与累积时间偏移的总量超过滞后时间阈值705或前置时间阈值710。

在步骤850处,媒体处理应用319基于视频帧610是被包括在演示时间轴510中还是从演示时间轴510中被排除来更新累积时间偏移。例如,媒体处理应用319可以通过将在步骤830处计算出的适当时间偏移添加到当前累积时间偏移来更新累积时间偏移。

然后,在步骤860处,媒体处理应用319可选地将更新的累积时间偏移与演示时间轴510的相应部分和/或与基于演示时间轴510而生成的媒体文件218的相应部分相关联。在一些实施例中,媒体处理应用319通过将更新的累积时间偏移存储在元数据中(诸如包括在媒体文件218的索引中的元数据),将更新的累积时间偏移与演示时间轴510和/或媒体文件218的相应部分相关联。通常,不同的累积时间偏移信息(例如,元数据)可以与具有任何持续时间的演示时间轴510的部分和/或具有任何持续时间的媒体文件218的部分相关联。然而,在一些实施例中,累积时间偏移信息与演示时间轴510和/或媒体文件218的每个1至5秒中的部分(例如,2秒部分)相关联。在一些实施例中,累积时间偏移信息与通过网络105发送到端点设备115和/或内容服务器110的媒体文件218的每个片段相关联。

在步骤870处,媒体处理应用319确定是否在演示时间轴510中包括附加编辑。如果在演示时间轴510中包括一个或多个附加编辑,则方法800返回到步骤810。如果在演示时间轴510中不包括附加编辑,则方法800终止。

或者,在步骤820处,媒体处理应用319可以确定编辑是否为具有不是视频帧持续时间的整数倍的持续时间的留驻编辑或空编辑。如果媒体处理应用319确定该编辑为具有不是视频帧持续时间的整数倍的持续时间的留驻编辑或空编辑,则方法800进行到步骤830。在步骤830处,媒体处理应用319确定与包括附加视频帧610(例如,通过向上舍入到最接近的整数倍)相关联的时间偏移和/或与排除附加视频帧610相关联的时间偏移(例如,通过向下舍入到最接近的整数倍)。如上所述,然后方法800的其余部分进行到步骤840至870。

图9示出了根据本发明的各种实施例的用于将与媒体文件218相关联的累积时间偏移信息发送到端点设备115的方法步骤的流程图。尽管结合图1至图7的系统描述了方法步骤,但本领域技术人员将理解,配置为以任何顺序执行方法步骤的任何系统都落入本发明的范围内。

如图9所示,方法900在步骤910开始,其中媒体处理应用319和/或服务器应用217接收对媒体文件218的一个或多个部分的请求。在步骤920,媒体处理应用319和/或服务器应用217获取媒体文件218的一个或多个部分和与媒体文件218的一个或多个部分相关联的累积时间偏移信息。如上所述,累积时间偏移信息可以与演示时间轴510的部分和/或具有持续时间的媒体文件218(例如,媒体文件218的2秒片段)相关联。

接下来,在步骤930处,媒体处理应用319通过网络105将媒体文件218的(一个或多个)部分和相应的累积时间偏移信息发送到内容服务器110和/或端点设备115。此外或替代地,在步骤930,服务器应用217通过网络105将媒体文件218的(一个或多个)部分和相应的累积时间偏移信息发送到端点设备115。

在步骤940处,媒体处理应用319确定是否将发送附加媒体文件218(或媒体文件218的附加部分)。如果媒体处理应用319确定要发送附加媒体文件218或媒体文件218的附加部分,则方法900返回到步骤910。如果媒体处理应用319确定不发送附加媒体文件218或媒体文件218的部分,则方法900终止。

图10示出了根据本发明的各种实施例的用于内容服务器110接收与媒体文件218相关联的累积时间偏移信息的方法步骤的流程图。尽管结合图1至图7的系统描述了方法步骤,但本领域技术人员将理解,配置为以任何顺序执行方法步骤的任何系统都落入本发明的范围内。

如图10所示,方法1000从步骤1010开始,其中回放应用436通过网络105将对媒体文件218的一个或多个部分的请求发送到内容服务器110和/或控制服务器120。在步骤1020处,响应于该请求,回放应用436通过网络105接收媒体文件218的一个或多个部分以及与媒体文件218的一个或多个部分相关联的累积时间偏移信息。

接下来,在步骤1030处,回放应用436基于相应的累积时间偏移信息回放媒体文件218的(一个或多个)部分。例如,在一些实施例中,回放应用436可以从包括在媒体文件218的一部分中的元数据中读取累积时间偏移。回放应用436然后可以当回放到媒体文件218的部分时基于累积时间偏移来调整延迟参数(例如,音频延迟参数和/或视频延迟参数)。

在步骤1040处,回放应用436确定是否将请求附加媒体文件218(或媒体文件218的附加部分)。如果回放应用436确定将请求附加媒体文件218或媒体文件218的一部分,则方法1000返回到步骤1010。如果回放应用436确定将不请求附加媒体文件218或媒体文件218的部分,则方法1000终止。

总之,媒体处理应用接收指定与音频轨道和/或视频轨道相关联的编辑的演示时间轴。然后,对于演示时间轴中包括的每个非采样边界编辑,媒体处理应用确定是否包括相应的音频帧和/或视频帧。该确定可以基于与包括音频帧和/或视频帧相关联的时间偏移、与演示时间轴相关联的累积时间偏移、和/或一个或多个时间偏移阈值。媒体处理应用还可以将累积时间偏移与媒体文件的每个部分相关联,并将媒体文件218的部分发送到内容服务器110和/或端点设备115。

所公开的技术的至少一个优点是可以处理与演示时间轴相关联的编辑,以减少或消除包括在演示时间轴中的音频轨道和视频轨道之间的时间偏移。此外,当媒体文件的相应部分被发送到端点设备时,通过向端点设备发送指定累积时间偏移的元数据,可以减轻非采样边界编辑对终端用户体验的影响。因此,端点设备能够补偿累积时间偏移,例如通过修改与端点设备相关联的音频延迟参数。

已经出于说明的目的呈现了各种实施例的描述,但是并非旨在穷举的或限制于所公开的实施例。在不脱离所描述的实施例的范围和精神的情况下,许多修改和变化对于本领域的普通技术人员来说将是显而易见的。

本实施例的各方面可以体现为系统、方法或计算机程序产品。因此,本公开的各方面可以采取以下形式:全硬件实施例、全软件实施例(包括固件、常驻软件、微代码等)或可以全部在本文中通常被称为“电路”、“模块”或“系统”的组合了软件和硬件方面的实施例。此外,本公开的各方面可以采取体现在包含有计算机可读程序代码的(一个或多个)计算机可读介质中的计算机程序产品的形式。

可以使用(一个或多个)计算机可读介质的任何组合。计算机可读介质可以是计算机可读信号介质或计算机可读存储介质。计算机可读存储介质可以是例如但不限于电子的、磁的、光的、电磁的、红外的或半导体系统、装置、或设备、或前述的任何合适的组合。计算机可读存储介质的更具体的示例(非穷举列表)将包括以下内容:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或闪存)、光纤、便携式光盘只读存储器(cd-rom)、光存储设备、磁存储设备或前述的任何合适的组合。在本文件的上下文中,计算机可读存储介质可以是任何包含或存储由指令执行系统、装置或设备使用或与其结合使用的程序的有形介质。

以上参考根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各方面。应该理解的是,流程图和/或框图中的每个框以及流程图和/或框图中块的组合可以通过计算机程序指令来实现。这些计算机程序指令可以被提供给通用计算机、专用计算机、或其他可编程数据处理装置的处理器以产生机器,使得通过计算机的处理器或其他可编程数据处理装置而执行的指令能够实现在流程图和/或框图的一个或多个块中指定的功能/动作的实现方式。这些处理器可以是但不限于通用处理器、专用处理器、特定应用处理器或现场可编程处理器或门阵列。

附图中的流程图和框图图示了根据本公开的各种实施例的系统、方法和计算机程序产品的可能实现的架构、功能和操作。在这方面,流程图或框图中的每个块可以表示包括用于实现(一个或多个)指定的逻辑功能的一个或多个可执行指令的代码的模块、段或部分。还应该注意,在一些替代实现方式中,块中提到的功能可以不按照附图中指出的顺序发生。例如,取决于所涉及的功能,连续示出的两个块实际上可以基本上同时执行,或块有时可以以相反的顺序执行。还将注意到,框图和/或流程图图示的每个块、以及框图和/或流程图图示中的块的组合可以由执行指定的功能或动作的基于专用硬件的系统,或专用硬件和计算机指令的组合来实现。

虽然前面涉及本公开的实施例,但是可以想出本公开的其它和另外的实施例而不脱离本公开的基本范围,并且其范围由随后的权利要求所确定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1