用于数字视频的自适应同步解码的方法、设备和计算机程序产品的制作方法

文档序号:7942626阅读:242来源:国知局
专利名称:用于数字视频的自适应同步解码的方法、设备和计算机程序产品的制作方法
技术领域
本发明的实施方式一般地涉及数字视频回放技术,以及尤其涉及用于通过自适应 同步解码维持音频/视频同步的方法、设备和计算机程序产品。
背景技术
现代通信时代已经带来了有线和无线网络的极大发展。计算机网络、电视网络和 电话网络正在经历由消费者需求驱动的前所未有的技术发展。无线和移动网络技术已经解 决有关的消费者需求,同时提供了信息传送的更多灵活性和即时性。网络的这种扩展和通信模式的增长已经允许创造和递送逐渐增长的复杂数字视 频,诸如从远程网络设备通过下载媒体内容文件或流式传输数字视频文件到本地网络终 端。随着带宽和网络范围的扩展已经允许日益复杂的数字视频并且向甚至移动设备终端递 送视频内容,诸如在个人计算机以及诸如PDA和蜂窝电话之类的移动设备中使用的计算机 硬件和软件的能力需要增长,从而跟上对现代数字视频回放日益增长的需求。尽管硬件和软件发展,但是视频内容总是可以被创建得超过系统的能力,而不论 涉及的软件或硬件、使用哪些编解码器或视频内容的分辨率为何。当视频内容超过播放它 的系统的能力时,结果通常是被称为音频/视频同步丢失或AV同步(有时也称为步调)的 丢失。理想地,当视频内容在设备上播放时,音频和视频轨道将彼此保持同步,因此,例如, 当视频中的人说话时,该语音的音频轨道将和该人张开嘴的视频轨道同步,通常也称为唇 同步。然而,当视频的复杂度超过播放它的系统的能力时,在较轻微的情况下,唇同步可能 丢失,并且该人的语音音频可能略微早于或略微迟于示出正在移动他的嘴的视频来播放。 在播放视频内容的要求大大超过系统能力的较严重情况下,视频回放可能周期性地定格或 整体拖延,而音频轨道可能继续播放或可能不继续播放。AV同步的此类丢失对观众的体验 是有害的。为了尝试在视频内容超过系统能力的情况下保持AV同步,过去已经提出了若干 算法,其中丢弃称为帧的视频和/或音频轨道的部分。虽然丢弃音频帧可以帮助保持AV同 步,但是极大地降低观众的体验,因为遗失的音频帧对观众来说几乎总是明显的。另一方 面,在多数情况下,丢弃一个或多个视频帧并不是必然地会被观众注意到。例如,美国电视 标准规定使用每秒30视频帧,而欧洲标准指定使用每秒25帧用于视频回放,在这两种回放 标准之间,观众不能察觉到任何明显的区别。所以,当视频内容超出系统能力时,在系统中 为了最好地保持AV同步,理想的途径是丢弃一个或多个视频帧而不丢弃任何音频帧。丢弃视频帧可能出现在两个级别(1)在后处理之前或(2)在解码之前。在被解 码之后但在被后处理之前丢弃视频帧的第一情况中,每当一个帧轻微晚些到达后处理器, 将不会对其进行后处理或呈现,这在理论上将为按时对下一帧进行后处理和显示节约足够 的时间。在第二情况中,晚些到达解码器的帧可以在被解码前丢弃。为了更好的理解在第二情况中如何在解码前在解码器级处丢弃视频帧,首先需要理解视频帧是如何分类的。出于简单的目的,本申请所撰写的说明书将视频帧分类两个类 型之一,关键帧或非关键帧。在本领域中,关键帧也被称为帧内编码帧或i_帧,并且是自包 含的视频帧,其包含所有完全呈现单个视频帧而不参考任何之前或随后的帧所需的所有信 息。非关键帧也被称为预测帧(P-巾贞)或双向帧(b_帧),另一方面,非关键帧不是自包含 的并包括可供一个或多个之前或随后帧参考的数据。例如,在短视频中,一个对象可以逐渐 地通过帧序列移动,而背景视频内容的其余部分维持同样的定位。因此,最后关键帧之后的 非关键帧只包含用于描述一个移动物体位置中移动所需的数据,而不包括任何关于如何完 全呈现剩余的视频内容背景的数据。因此,由于在序列中,视频帧可以参考之前的和/或 之后的视频帧,所以每当在解码器级丢弃帧时,都可以存在可视的后果,因为丢弃帧将导致 参考所丢弃帧的任何帧被不正确地呈现,因为其遗失了对完全呈现来说必须的某些信息部 分。于是,当任何帧被丢弃时,可视质量迅速下降,并且仅在只要不丢弃随后的非关键帧就 对关键帧进行解码并保持时才可以恢复可视质量。当在解码器级丢弃帧时,之前对导致可视质量降低最常用的现有技术方案是一旦 任何非关键帧迟到,就丢弃所有连续的帧直到下一关键帧。在此方法下,一旦丢弃任何非关 键帧直到下一关键帧到达,则对传入视频帧的显示将停止。如果视频片段几乎不包括关键 帧,则观众可能获得回放已经停止或挂起的印象。因此,提供用于保持AV同步的改进方法是有利的,其允许对视频帧的自适应解码 和丢弃,以便基本上保持AV同步,而通过在视频回放中防止长暂停来尽可能小地引起对观 众体验的负面影响,视频回放中的长暂停可以是由现有方法丢弃非关键帧的序列引起的。 此类改进方法可以帮助改进其舒适区域之上的系统能力,这允许在无法处理视频内容复杂 度的环境中对视频内容的最佳回放。

发明内容
因此,提供一种方法、设备和计算机程序产品用于改进对于视频片段观众的视频 回放体验,其中该视频片段复杂度超过了播放其的系统的能力。特别地,提供一种方法、设 备和计算机程序产品来支持,例如,根据非关键帧在解码器级的到达时刻以及下一关键帧 的邻近性而在解码器级处自适应丢弃非关键帧。就这一点而言,在大多数环境中可以保持 AV同步,并且视频流可以不给观众挂起的体验。因而,当观看的视频片段超过系统的回放能 力时,可以增强观众体验。在一个示例性实施方式中,提供了一种方法,其可以包括维持下一关键帧时间戳, 对视频片段的多个关键帧进行解码,对按时到达的视频片段的多个非关键帧进行解码,以 及如果视频帧迟到并且下一关键帧处于计算的丢弃时间窗内,则丢弃一个或多个非关键帧 直到下一关键帧。对下一关键帧是否处于丢弃时间窗内的确定基于下一关键帧时间戳。在另一示例性实施方式中,提供一种包括至少一个计算机可读存储介质的计算机 程序产品,所述计算机可读存储介质具有存储于其中的计算机可读程序代码部分。所述计 算机可读程序代码部分包括第一、第二、第三和第四可执行部分。第一可执行部分用于维持 下一关键帧时间戳。第二可执行部分用于对视频片段的多个关键帧进行解码。第三可执行 部分用于对按时到达的视频片段的多个非关键帧进行解码。第四可执行部分用于如果视频 帧迟到并且下一关键帧处于计算的丢弃时间窗内,则丢弃一个或多个非关键帧直到下一关
6键帧。对下一关键帧是否处于丢弃时间窗内的确定基于下一关键帧时间戳。在另一示例性实施方式中,提供一种可以包括处理器的装置。所述处理器可以 配置为维持下一关键帧时间戳,对视频片段的多个关键帧进行解码,对按时到达的视频片 段的多个非关键帧进行解码,以及如果视频帧迟到并且下一关键帧处于计算的丢弃时间窗 内,则丢弃一个或多个非关键帧直到下一关键帧。对下一关键帧是否处于丢弃时间窗内的 确定基于下一关键帧时间戳。在另一示例性实施方式中,提供一种设备,其可以包括用于维持下一关键帧时间 戳的装置,用于对视频片段的多个关键帧进行解码的装置,用于对按时到达的视频片段的 多个非关键帧进行解码的装置,以及用于如果视频帧迟到并且下一关键帧处于计算的丢弃 时间窗内,则丢弃一个或多个非关键帧直到下一关键帧。对下一关键帧是否处于丢弃时间 窗内的确定基于下一关键帧时间戳。因此,本发明的实施方式可以提供一种方法、设备和计算机程序产品来增强视频 回放。结果,例如,观众观看视频片段的体验得到增强,即使视频片段在其能力被该视频片 段的复杂度超过了的系统上播放。


因此一般性地描述了本发明的实施方式,现在将参考附图,其不必按比例绘出,以 及在附图中图1是根据本发明示例性实施方式的移动终端的示意性框图;图2是根据本发明示例性实施方式的无线通信系统的示意性框图;图3是根据本发明示例性实施方式的、描述自适应同步解码算法流程图的框图;图4是示出了根据本发明示例性实施方式的、用于在服务器上解码和转码视频片 段并且向远程设备流式传输经转码的片段的系统;以及图5是根据用于自适应同步解码的示例性方法的流程图。
具体实施例方式现在将参考附图在下文中更全面地描述本发明的实施方式,附图中示出了本发明 的某些而不是所有实施方式。实际上,本发明可以按照多种不同的形式来实现,并且不应该 认为是被限制于此记载的实施方式;相反,提供这些实施方式是为了使本公开内容满足适 用的法律要求。贯穿附图,相同的标号表示相同的元件。图1示出了可以受益于本发明实施方式的移动终端10的框图。然而,应当理解, 所示出以及在此后描述的移动终端仅仅是可以受益于本发明实施方式的一种类型电子设 备的示范,因此,不应用来限制本发明实施方式的范围。尽管出于示例目的而示出并在此后 描述了电子设备的多个实施方式,但是其他类型的电子设备也可以采用本发明的,其中电 子设备诸如便携式数字助理(PDA)、寻呼机、膝上型计算机、台式计算机、游戏设备、电视和 其他类型的电子系统。如图所示,移动终端10包括天线12,其与发射机14和接收机16进行通信。移 动终端10还包括控制器20或者其他处理器,其分别提供去往发射机的信号和接收来自接 收机的信号。这些信号可以包括根据适用蜂窝系统的空中接口标准和/或任何数量的不同无线联网技术的信令信息,不同的无线联网技术包括但不限于无线高保真(Wi-Fi)、无线 LAN(WLAN)技术,诸如IEEE 802. 11等。此外,这些信号可以包括语音数据、用户生成的数 据、用户请求的数据等。在此方面,移动终端能够利用一个或多个空中接口标准、通信协议、 调制类型以及接入类型等来进行操作。更具体地,移动终端能够根据各种第一代(1G)、第二 代(2G)、2. 5G、第三代(3G)、第四代(4G)通信协议等来进行操作。例如,移动终端能够根据 2G无线通信协议IS-136 (TDMA)、GSM和IS-95 (CDMA)来进行操作。而且,例如,移动终端能 够根据2. 5G无线通信协议GPRS、EDGE、等来进行操作。此外,例如,移动终端能够根据诸如 采用WCDMA无线电接入技术的UMTS网络之类的3G无线通信协议来进行操作。一些NAMPS 以及TACS移动终端也可以从本发明的教导受益,其应该是双模或者更高模的电话(例如, 数字/模拟或者TDMA/CDMA/模拟电话)。此外,移动终端10能够根据无线高保真(Wi-Fi) 协议进行操作。应该理解,控制器20可以包括实现移动终端10的音频和逻辑功能所需的电路。例 如,控制器20可以是数字信号处理器设备、微处理器设备、模数转换器、数模转换器等。移 动终端的控制和信号处理功可以根据这些设备各自的能力在其间分配。控制器还可以包括 内部语音编码器(VC) 20a、内部数据调制解调器(DM) 20b等。此外,控制器可以包括对可以 存储在存储器中的一个或多个软件程序进行操作的功能。例如,控制器20能够操作连接程 序,诸如Web浏览器。连接程序可以允许移动终端10例如根据诸如无线应用协议(WAP)、超 文本传输协议(HTTP)等之类的协议来发射和接收Web内容(诸如基于位置的内容)。移动 终端10能够使用传输控制协议/因特网协议(TCP/IP)来跨因特网50发射和接收Web内 容。移动终端10还可以包括用户接口,其包括传统的耳机或者扬声器24、振铃器22、 麦克风26、显示器28以及用户输入接口等,所有这些设备都可以耦合至控制器20。尽管未 示出,移动终端可以包括用于为与移动终端相关的各种电路供电的电池,例如,用于提供机 械振动作为可觉察输出的电路。用户输入接口可以包括允许移动终端10接收数据的设备, 诸如小键盘30、触摸显示器(未示出)、控制杆(未示出)和/或其他输入设备。在包括小 键盘的实施方式中,小键盘可以包括传统的数字键(0-9)和相关键(#、*),和/或用于操作 移动终端的其他键。如图1所示,移动终端10还可以包括用于共享和/或获得数据的一个或多个装 置。例如,移动终端可以包括短距射频(RF)收发机和/或询问器64,因此,可以根据RF技 术与电子设备共享和/或从电子设备获得数据。移动终端可以包括其他短距收发机,例如 红外(IR)收发机66、使用由蓝牙(Bluetooth )特殊兴趣组开发的蓝牙(Bluetooth )类型 无线技术操作的蓝牙(Bluetooth (BT))收发机68等。蓝牙收发机68能够根据Wibree 无线电标准进行操作。这这点上,移动终端10以及具体地短距收发机能够向处于移动终端 的邻近区域内(诸如10米内)的电子设备传输数据和/或从该电子设备接收数据。尽管 未示出,但是移动终端能够根据各种无线联网技术从电子设备传输和/或接收数据,其中 各种无线联网技术包括无线高保真(Wi-Fi)、诸如IEEE 802. 11技术的WLAN技术等。移动终端10还可以包括存储器,诸如订户身份模块(UIM) 38、可移动用户身份模 块(R-UIM)等,其可以存储与移动订户相关的信元。除了 SIM之外,移动终端10还可以包 括其他可移动和/或固定存储器。在这点上,移动终端可以包括易失性存储器40,诸如易失性随机访问存储器(RAM),其可以包括用于数据临时存储的高速缓存区域。移动终端可以包 括其他非易失性存储器42,其可以是嵌入式的和/或可移动的。非易失性存储器可以包括 EEPR0M、闪存等。存储器可以存储移动终端10可以用于执行移动终端功能的一个或多个软 件程序、指令、信息片段、数据等。例如,存储器可以包括能够唯一标识移动终端10的标识 符,诸如国际移动设备标识(IMEI)码。在示例性实施方式中,移动终端10包括与控制器20通信的媒体捕获模块,诸如照 相机、视频和/或音频模块。媒体捕获模块可以是用于捕获图像、视频和/或音频以便存储、 显示或者传输的任何装置。例如,在媒体捕获模块是照相机模块36的示例性实施方式中, 照相机模块36可以包括能够根据捕获的图像形成数字图像文件或根据一系列捕获的图像 形成数字视频文件的数字照相机。同样,照相机模块36包括所有硬件,诸如,镜头或者其他 光学部件,以及用于根据捕获的图像或一系列捕获的图像来创建数字图像或视频文件所需 的软件。备选地,照相机模块36可以仅包括查看图像所需的硬件,而移动终端10的存储器 设备存储由控制器20执行的指令,其形式为根据捕获的图像或多个图像来创建数字图像 或视频文件所需的软件。在示例性实施方式中,照相机模块36还可以包括诸如协处理器的 处理元件,其协助控制器20来处理图像数据以及编码器和/或解码器,以便压缩和/或解 压图像数据。编码器和/或解码器可以根据JPEG或MPEG标准格式来编码和/或解码。现在参考图2,以示例而不是限制的方式提供可以支持向诸如图1的移动终端的 电子设备通信或从其进行通信的一个类型的系统的图示。如图所示,一个或多个移动终端 10的每个都可以包括天线12,以用于将信号发射至基地或基站(BS)44以及用于从其接收 信号。基站44可以是一个或多个蜂窝或移动网络的一部分,每个网络包括操作该网络所需 的元件,例如移动交换中心(MSC)46。如本领域技术人员公知的,移动网络还可以称为基站 /MSC/互联功能(BMI)。在操作中,当移动终端10进行和接收呼叫时,MSC 46能够路由去 往和来自移动终端10的呼叫。当呼叫涉及移动终端10时,MSC 46还可以提供到陆地线主 干的连接。此外,MSC 46能够控制去往和来自移动终端10的消息的转发,并且还能够控制 去往和来自消息收发中心的、针对移动终端10的消息的转发。应当注意,尽管在图2的系 统中示出了 MSC 46,但是MSC 46仅仅是示例性网络设备,并且本发明不限于在采用MSC的 网络中使用。MSC 46可以耦合至数据网络,诸如局域网(LAN)、城域网(MAN)和/或广域网 (WAN)。MSC 46可以直接耦合至数据网络。然而,在一个典型实施方式中,MSC 46可以耦 合至GTW 48,而GTW 48可以耦合至例如因特网50的WAN。继而,诸如处理元件(例如,个 人计算机、服务器计算机等)的设备可以经由因特网50耦合至移动终端10。例如,如下所 述,处理元件可以包括与下文描述的计算系统52 (图2中示出了两个)、源服务器54(图2 中示出了一个)等相关联的一个或多个处理元件。如图2所示,BS 44还可以耦合至信令GPRS(通用分组无线服务)支持节点 (SGSN)56。如本领域技术人员公知的,SGSN 56能够执行类似于MSC 46的功能,以用于分组 交换服务。与MSC 46类似,SGSN 56可以耦合至诸如因特网50的数据网络。SGSN 56可以 直接耦合至数据网络。备选地,SGSN 56可以耦合至分组交换核心网,诸如GPRS核心网58。 分组交换核心网继而可以耦合至另一 GTW 48,诸如GTW GPRS支持节点(GGSN) 60,而GGSN 60可以耦合至因特网50。除了 GGSN 60之外,分组交换核心网还可以耦合至GTW 48。而且,GGSN 60可以耦合至消息收发中心。在此方面,类似于MSC 46,GGSN 60和SGSN 56能 够控制消息(诸如MMS消息)的转发。GGSN60和SGSN 56还能够控制去往和来自消息收发 中心的、针对移动终端10的消息的转发。此外,通过将SGSN 56耦合至GPRS核心网58和GGSN 60,诸如计算系统52和/或 源服务器54的设备可以经由因特网50、SGSN 56以及GGSN 60耦合至移动终端10。在此 方面,诸如计算系统52和/或源服务器54的设备可以跨越SGSN 56、GPRS核心网58以及 GGSN60来与移动终端10通信。通过将移动终端10以及其他设备(例如,计算系统52、源 服务器54等)直接或者间接地连接至因特网50,移动终端10例如可以根据超文本传输协 议(HTTP)等来与其他设备通信以及相互之间彼此通信,由此执行移动终端10的各种功能。尽管没有在图2中示出了并描述了每个可能的移动网络的每个元件,但是应当意 识到,诸如移动终端10的电子设备可以通过BS 44耦合至多个不同网络中的任意的一个或 多个。在此方面,网络能够支持根据多个第一代(1G)、第二代(2G)、2.5G、第三代(3G)、第 四代(4G)和/或未来移动通信协议等中的任意一个或多个协议的通信。例如,一个或多个 网络能够支持根据2G无线通信协议IS-136 (TDMA)、GSM和IS-95 (CDMA)的通信。而且,例 如,一个或多个网络能够支持根据2. 5G无线通信协议GPRS、增强数据GSM环境(EDGE)等的 通信。此外,例如,一个或多个网络能够支持根据3G无线通信协议的通信,其中3G无线通 信协议诸如使用宽带码分多址(WCDMA)无线电接入技术的通用移动电话系统(UMTS)网络。 某些窄带AMPS(NAMPS)以及TACS网络还可以从本发明的实施方式中受益,还有双模或更高 模移动终端(例如,数字/模拟或TDMA/CDMA/模拟电话)。如图2所示,移动终端10还可以耦合至一个或多个无线接入点(AP)62。AP 62可 以包括被配置为根据诸如以下的技术来与移动终端10进行通信的接入点射频(RF)、蓝牙 (Bluetooth (BT))、红外(IrDA)或者多种不同的无线网络互联技术中的任意技术,其中无 线网络互联技术包括诸如 IEEE 802. 11 (例如,802. 11a,802. lib,802. llg、801. lln 等) 的无线LAN(WLAN)技术、Wibree 技术、诸如IEEE 802. 16的微波接入全球互通(WiMAX)技 术,无线高保真(Wi-Fi)和/或诸如IEEE 802. 15等的超宽带(UWB)等技术等等。AP 62可 以耦合至因特网50。类似于MSC 46,AP 62可以直接耦合至因特网50。然而,在一个实施 方式中,AP 62可以经由GTW 48间接耦合至因特网50。此外,在一个实施方式中,可以将 BS 44视作另一 AP 62。将会意识到,通过将移动终端10以及计算系统52、源服务器54和 /或多种其他设备中的任意设备直接或者间接地连接至因特网50,移动终端10可以彼此进 行通信,与计算系统进行通信,等等,由此来执行移动终端10的各种功能,例如将数据、内 容等发射至计算系统52和/或从计算系统52接收内容、数据等。这里使用的术语“数据”、 “内容”、“信息”以及类似术语可以互换使用,用来表示能够根据本发明的实施方式而被发 射、接收和/或存储的数据。由此,不应将任何这种术语的使用作为对本发明实施方式的精 神以及范围的限制。尽管未在图2中示出,除了跨越因特网50将移动终端10耦合至计算系统52和/ 或源服务器54之外或者作为替代,还可以根据例如RF、BT、IrDA或者多种不同的有线或无 线通信技术(包括LAN、WLAN、WiMAX、无线高保真(Wi-Fi) .Wibree 和/或UWB等技术)中 的任意技术来将移动终端10、计算系统52与源服务器54彼此耦合和通信。一个或多个计算 系统52可以附加地或者备选地包括可移动存储器,其能够存储随后可以传送给移动终端
1010的内容。此外,移动终端10可以耦合至一个或多个电子设备,诸如打印机、数字投影仪和 /或其他多媒体捕获、产生和/或存储设备(例如,其他终端)。类似于计算系统52,移动终 端10可以被配置为根据例如RF、BT、IrDA或者多种不同的有线或无线通信技术(包括USB、 LAN、Wibree 、Wi-Fi、WLAN、WiMAX和/或UWB等技术)中的任意技术来与便携式电子设备 进行通信。在这方面,移动终端10能够经由短距通信技术与其他设备进行通信。例如,移 动终端10可以与配备有短距通信收发器80的一个或多个设备51进行无线短距无线通信。 电子设备51可以包括能够根据不同短距通信技术中的任意一个来发射和/或接收数据的 多个不同设备和转发器中的任意一个,其中不同短距通信技术包括但不限于Bluetooth 、 RFID、IR、WLAN、红外数据联盟(IrDA)等。电子设备51可以包括不同移动或静止设备中的 任意一个,包括其他移动终端、无线附件、设备、便携式数字助理(PDA)、寻呼机、膝上型计算 机、运动传感器、灯开关和其他类型的电子设备。图3示出了表示根据本发明示例性实施方式的自适应同步解码算法流程图的框 图。应该理解,流程图的每个框或步骤以及流程图中框的组合可以通过各种手段实现,诸如 硬件、固件、和/或包括一个或多个计算机程序指令的软件。例如,上文描述的一个或多个 过程可以通过计算机程序指令实现。就这一点而言,这些计算机程序指令可以由一个或多 个电子设备的存储器设备存储,并由至少一个处理器执行。应该理解,任何这样的计算机程 序指令可以被加载到计算机设备或其他装置(即硬件)上来制造机器,从而在计算设备或 其他装置上执行的指令实现了图3的方法。这些计算机程序指令可以存储于计算机可读存 储器中,其可以引导计算设备或其他装置以特定的方式运行,从而存储于计算机可读存储 器中的指令制造包括实现图3方法的指令的产品。计算机程序指令可以被加载到计算设备 或其他装置上,以使得在计算设备或其他装置上执行一系列的操作步骤,以便生产计算机 实现的过程,从而在计算设备或其他装置上执行的指令提供用于实现图3方法的步骤。在示例性实施方式中,本发明可包括可以被设备(例如,移动终端10)的处理器 (例如,控制器20)执行或否则被控制的指令。例如,用户可以在移动终端10的显示器28 上观看视频片段。在示例性实施方式中,视频片段可驻留于移动终端10的存储器42中,并 且可以预先从远程网络设备(诸如图4的视频源150)上下载下来,其可以实现为源服务 器54。在另一示例性实施方式中,视频片段可以被移动终端10的照相机模块36捕获。在 又一示例性实施方式中,视频片段可以存储在图2所示系统中的一个或多个设备的存储器 中,并且以整体或部分被发送到移动终端10。如果视频片段的复杂度超过控制器20的解 码和回放该视频片段的能力,该设备可为了 AV同步而自适应地确定何时省略帧,在此处称 为“丢弃”和/或何时解码帧。像上文提到的,这里使用的术语“AV同步”可与术语“AV的 同步”、“音频/视频同步”以及“步调”互换使用,并且其表示视频片段中独立的音频和视频 部分的相对定时,其中理想化的是音频和视频部分回放的定时将彼此同步。应该理解,当这 里讨论超过系统硬件、软件或它们组合的能力的视频片段时,术语“超过能力”并不一定意 味着超过系统的总能力,只是仅仅超过可能被花费在解码视频片段上的系统能力。包括用于执行包括本发明实施方式的指令的设备可以是网络设备,诸如,例如图 2系统中的源服务器54或计算系统52。源服务器54或计算系统52可以用作如图4所描 绘的视频源150。现参考图4,在示例性实施方式中,该视频源150可以访问可存储在存储 器152中的多个视频片段,它的处理器可配置为使用解码器154解码视频片段,使用转码器156将视频片段转码为远程客户端设备支持的格式,并且通过网络链路实时地按需向诸如 用户设备158的远程客户端设备流式传输视频片段,用户设备158可以是移动终端10。即 使单个视频片段的解码和转码不超过视频源150的系统资源,同时对多个视频片段进行解 码、转码和流式传输可能约束和/或超过系统资源。根据该示例性实施方式,诸如视频源 150的处理器的设备可以自适应地丢弃由设备解码并转码的一个或多个视频片段中的一个 或多个帧,以便避免由该设备流式传输的一个或多个视频片段上由于受约束的系统资源而 丢失AV同步。在本发明自适应同步解码算法的一个示例性实施方式中,若干布尔变量、统计量 和时间戳可以由解码器确定和维持,以允许如下描述的、将执行的解码器级确定步骤。例 如,解码器可以确定和维持视频回放的当前时间。该当前时间代表音频回放的当前位置并 且可以是信息性的,因为本发明的实施方式考虑视频帧的位块传送是由音频回放驱动的并 且从未丢弃音频帧。当前时间可以存储在设备的存储器中,在该设备上可以实现本发明的 实施方式,存储器诸如是移动终端10的易失性存储器40。如结合图3在下文所描述的,任 何视频帧的时间戳可以与如由当前时间表示的当前音频回放位置时间戳进行比较,以出于 根据本发明的实施方式的、确定是丢弃还是解码视频帧的目的来确定视频帧是否迟到。解码器也可确定和维持下一关键帧的时间戳。该时间戳可以存储在其上实现本发 明实施方式的设备的存储器中,例如存储器是移动终端10的易失存储器40。下一关键帧的 时间戳指示在时间线中何时显示下一关键帧并且可以从多个源的一个或多个获得该下一 关键帧。例如,解码视频以及基于自适应同步解码算法丢弃和/或解码帧的设备可以包含 多个输入缓冲器,其在解码之前预先缓冲视频帧。在这个示例中,如果输入缓冲器中的一个 包括关键帧,则该设备可以提取该关键帧的时间戳,从而定义下一关键帧的时间戳。如另一 个示例,视频片段可以具有以已知率散置在视频片段内的关键帧,诸如每30个帧一个关键 帧。在这个示例中,设备可以确定相对于之前关键帧的下一关键帧的时间戳。在另一个示 例中,关键帧的位置可以在解码前被设备标识。就这一点而言,文件格式解析器可以读取视 频文件并且在由设备解码前标识关键帧的位置。备选地,视频文件可以与索引表相关联,该 索引表描述视频片段的帧序列并且标识该关键帧。应该理解,时间戳可以包括一个或多个 表示时间的方法,诸如绝对时间参考,偏移时间参考等。根据本发明实施方式的设备可以独立地维持涉及解码单个关键帧和单个非关键 帧所需时间的统计量。这些统计量可以存储在设备的存储器中,诸如,存储器是移动终端10 的易失存储器40。在一个实施方式中,为了示例的目的,统计量可以描述解码关键帧所需的 平均时间和解码非关键帧所需的平均时间,并且每次对帧进行解码时可以由设备动态地重 新计算。设备的处理器,诸如移动终端10的控制器20,可以确定平均解码时间,诸如通过 执行提供该确定的软件。尽管可以动态地计算和维持平均解码时间,以便估计解码传入帧 所需的时间,本发明的实施方式并不限于此并且无需维持平均解码时间统计量。反而,在备 选的实施方式中,该设备可以确定和维持解码每个最后关键帧和最后非关键帧所花费的时 间。备选地,设备可以基于例如视频的复杂度并且考虑诸如其分辨率的因素来确定解码关 键帧和非关键帧所需时间的固定估计。在备选的实施方式中,设备可以维持中间解码时间 来代替平均解码时间。所有这些用于确定解码单个关键帧和单个非关键帧所需时间的方法 和其他类似方法由本发明的实施方式所构思并且可以互换使用,诸如取决于哪种方法更有效。同样,虽然解码单个关键帧和单个非关键帧所需时间将处于示例的目的在下文中依据 平均解码时间来讨论,但是本发明的实施方式不限于此。设备也可以维持布尔逻辑变量,其指示是否所有非关键帧都被连续地丢弃直至下 一关键帧到达。最初,这一变量可以被设置为FALSE (假),并且当每一个关键帧到达并解 码时可以被重新设置为FALSE。然而,变量在一定环境中可以被设置为真,这将在下文中讨 论。变量的值可以维持在设备的存储器中,诸如移动终端10的易失性存储器40。此外,设备可以维持变量,该变量指示已经丢弃的连续帧的数量。该变量的最初值 可以是0并且每次解码帧时可以对其进行重置。当帧被丢弃,该值可以递增。该变量的当 前值可以维持在设备的存储器中,诸如移动终端10的易失存储器40。该设备还可以包括指 示可以丢弃的连续帧的最大数量的变量。该变量的值可以凭经验确定,以便至少周期性地 位块传送视频帧以迫使视频显示器周期性地更新,从而用户不认为视频回放已经延迟。例 如,如果视频片段的帧率是每秒30帧(fps),每30帧解码一帧将保证帧每秒位块传送帧一 次。同样,该设备可以将可以丢弃的连续帧最大数量设置为29。该变量的值可以维持在设 备的存储器中,诸如移动终端10的易失存储器40。自适应同步解码背后的基本逻辑是试图连续地解码所有帧。然而,当帧由于视频 片段的复杂度超过系统资源而迟到时,自适应同步解码逻辑允许对非关键帧选择性地丢 弃。如在图3中可见的,操作100-126可以在解码器级执行,诸如通过解码器,其可以以硬 件、软件、或它们的某些组合实现,并可以由处理器控制或实现,处理器诸如移动终端10的 控制器20。操作128-138可以在后处理级执行,诸如通过后处理器,其可以以硬件、软件、 或它们的某些组合实现,并且可以由处理器控制或实现,处理器诸如移动终端10的控制器 20。起初,在操作100,传入的编码帧可到达解码器。该解码器可以在操作102确定传 入帧是否是关键帧。如果该帧是关键帧,则解码器可以在操作104解码该关键帧。接下来, 在操作106,解码器可以重新设置布尔变量的值为假,其中该布尔变量指示是否所有直到下 一关键帧的帧都应当被丢弃。该解码器继而可以更新指示在操作108解码关键帧所需时间 的变量,诸如平均时间。另一方面,如果该解码器确定在操作102传入的编码帧不是关键帧,则该解码器 可以确定布尔变量的值,该布尔变量指示是否所有直到下一关键帧的帧都应当在操作110 被丢弃。如果布尔变量的值为TRUE (真),则表明所有直到下一关键帧的帧都应当被丢弃, 在操作126,解码器可以将维持之前已经丢弃的连续帧数量的变量值与可以丢弃的连续帧 的最大数量进行比较。在操作126,如果值是相等的,则该解码器可以在操作122解码非关 键帧。通过解码非关键帧,该解码器可以确保视频中的至少一个帧被频繁的位块传送,这足 以维持对于用户而言的正在进行的视频回放的表现。该解码器也可以重置指示已经丢弃的 连续帧的数量的变量值为零。随后,该解码器可以在操作124中更新解码非关键帧所花费 的平均时间。如果在操作126中的确定是丢弃的连续帧的数量没有达到被丢弃的连续帧的 最大可允许数量,则该解码器可以在操作118丢弃非关键帧。如果在操作110,该解码器确定布尔变量的值为FALSE,其中布尔变量指示是否直 到下一关键帧的所有的帧应当被丢弃,则该解码器可以确定视频帧对解码器来说是否迟 到,如操作112所示。在示例性实施方式中,该解码器可以做这样的确定,例如,通过和当前音频回放位置比较传入视频帧的时间戳。如果传入视频帧的时间戳比当前音频回放位置 晚,则可以认为传入视频帧迟到。如果在操作112解码器确定传入编码帧没有迟到,则该解 码器可以在操作122解码非关键帧,并且该解码器可以在操作124更新解码非关键帧的平 均时间。然而,如果该传入编码帧对于解码器而言迟到,则该解码器可以在操作114继续确 定是否下一关键帧位于丢弃时间窗内。如果下一关键帧时间戳位于丢弃时间窗内,则该解 码器可以在操作116设置变量的布尔值为TRUE,其中变量指示是否所有直到下一关键帧的 帧将被丢弃,并且可以在操作118继续丢弃帧。丢弃时间窗(DTW)可以基于解码单个关键帧所需的平均时间(KF_DeC_Time)以 及解码单个非关键帧所需的平均时间(NKF_DeCT_ime)乘以一个整数值的积来计算,其中 该整数值等于小于在其上实现本发明实施方式的设备的输出缓冲器的数量(Num_0utput_ Buffers)的一个整数值。用于计算丢弃时间窗的等式可以表示如下DTff = KF_Dec_Time+NKF_Dec_Time*(Num_Output_Buffers_l)因此,丢弃时间窗 值表示在对下一关键帧以及该关键帧之后连续的足够非关键帧进行解码以填充设备的所 有输出缓冲器所需的时间量。在这点上,如果非关键帧对于解码器而言迟到并且下一关键 帧将在丢弃时间窗内达到,那么解码器可以丢弃所有帧直到下一关键帧,从而当位块传送 下一关键帧时,将对填充输出缓冲器的该关键帧和足够的随后非关键帧进行解码,使得音 频回放和视频回放可以重新同步并且可以至少在此后的一段时间内维持同步。需要指出以下影响,输出缓冲器的数量也可以影响回放。在这点上,由于输出缓冲 器的数量可以用于计算丢弃时间窗,所以可以在存在更多输出缓冲器的时刻丢弃更多连续 的非关键帧,直到已经丢弃了最大连续数量的非关键帧。因此,如果在具有更多输出缓冲器 的解码器处帧开始迟到,则丢弃第一帧时和显示下一关键帧时之间的视频回放中的暂停可 以按比例地延长并且因此可能对视频片段的观众而言更加明显。然而,如果解码器在操作114确定下一关键帧时间戳不在丢弃时间窗内,则解码 器可以在操作120确定是否已经触发了故障安全机制。故障安全机制可以表示以下内容之 间的折中(1)如果下一关键帧不在丢弃时间窗内则允许解码以及位块传送非关键帧轻微 不同步(2)允许视频回放滞后于音频回放如此之多,则不仅由于继续解码迟到的帧而可能 浪费系统资源(这导致逐渐地恶化了 AV同步),而且系统可能变得不稳定,因为系统资源受 到进一步约束。因此,如果视频帧迟于故障安全阈值到达,则解码器可以在操作116将布尔 变量设置为TRUE,该布尔变量指示是否下一关键帧之前的所有非关键帧都应该被丢弃。然 后,解码器可以在操作118丢弃帧。故障安全阈值表示视频回放中的恒定最大可允许滞后时间,并且可以以多种方式 对其进行确定。在一个实施方式中,故障安全阈值可以表示系统可以预先缓冲的已解码视 频的长度。备选地,例如,故障安全阈值可以根据不允许视频回放滞后于音频回放的固定时 间长度来设置,诸如3秒。故障安全机制进一步提供以下情况中的真正“故障安全”,在该 情况中,下一关键帧的时间戳不可用于允许在下一关键帧处于丢弃时间窗内时丢弃非关键 帧。在该情况中,故障安全机制可以用于避免落在音频回放之后超过故障安全阈值的视频 回放,并且可以在下一关键帧处恢复同步。另一方面,如果视频帧迟到,而下一关键帧不在丢弃时间窗内并且尚未触发故障 安全机制,则解码器可以在操作122解码非关键帧,并且解码器还可以在操作124更新解码非关键帧所需的平均时间。然后,迟到非关键帧可以继续被解码并且可能逐渐失去AV同步 直到下一关键帧处于丢弃时间窗内或触发了故障安全机制。一旦下一关键帧到达并且被解 码,则可以恢复AV同步。可以将已经解码的任何帧传递到后处理器,其可以对帧进行后处理和显示。出于 本发明实施方式的目的,后处理器的操作逻辑无需改变,因为在一个实施方式中,所有相关 判决逻辑都由解码器执行。再次参考图3,一旦帧到达后处理器,则后处理器可以在操作 128确定帧是否迟到。如果帧没有迟到,则后处理器在操作130对帧进行后处理。然后,后 处理器可以等待直到回放时间线中帧应该显示的时刻,并且继而可以在操作134对该帧进 行显示。另一方面,如果帧迟到了,则后处理器可以在操作136确定帧是否非常迟。对于什 么样才被认为是“非常迟”的预定义时间阈值可以取决于后处理器实现而不同,但是在示例 实施方式中,可以处于100毫秒以上的任何数量级上。如果帧不是非常迟,则丢弃帧。然而, 如果如由帧是否迟于预定义的阈值到达而确定帧非常迟,则可以在操作138对该帧进行后 处理并且随后在操作134进行显示。该基本后处理器实现背后的逻辑在于如果帧仅是稍微 迟到,则为了恢复AV同步或至少防止回放落后于同步更远,应该丢弃该帧。然而,如果后处 理器保持接收总是迟于它们应该到达时刻的帧,这导致了帧“非常迟”,则在已经失去AV同 步时后处理器可以使得帧被显示,并且对于视频回放而言,最佳用户体验在继续而不是丢 弃所有视频帧。然而,在本发明的一个实施方式中,设备可以包括逻辑,该逻辑进一步允许在解码 器级进行丢弃还是解码并显示帧的判决,而不是允许后处理器决定什么帧迟到以及非常 迟,从而后处理器无需进行任何修改来支持自适应同步解码。为了实现该逻辑,解码器可以 调整已经解码或待解码的迟到帧的时间戳,从而它们反映仅稍微大于如由音频回放位置确 定的当前时间的时间,这使得后处理器将显示帧而不是丢弃它们。与当前时间相加以计算 新时间戳的附加时间常数可以是平均后处理时间,其反映了在显示帧之前对所解码帧进行 颜色转换、缩放、旋转等所需的时间。由于该值可能远没有解码时间那么动态,所以可以将 其视为片段之间的常数。因此,虽然备选实施方式将动态地计算针对帧解码时间实现的平 均后处理时间,但是可以代之以使用静态值来避免对后处理器逻辑进行任何修改。例如,在 一个实施方式中,包含平均后处理时间的估计的参考表可以存储在存储器中,该平均后处 理时间的估计取决于视频片段分辨率或复杂度的其他测量,存储器诸如移动终端10的非 易失性存储器42,并且该参考表由解码器参考用于确定将与当前时间相加来获得迟到帧时 间戳新值的恒定平均后处理时间。存储在该表中的值可以根据在其上对视频片段进行后处 理的系统的实际软件和硬件配置而改变。在一个示例实施方式中,对于迟到的每个已解码帧可以不执行时间戳修改。反之, 可以对迟于迟到帧容限值的帧执行该时间戳修改,从而仅在回放仍旧同步的情况下帧逐渐 地迟到并且不仅是轻微延迟时应用时间戳修改。例如,迟到帧容限值可以设置为50毫秒, 因为后处理器经常具有+/-20毫秒的阈值用于确定帧是否准时。然而,上面的值仅是出于 示例目的,并且关于迟到帧容限,本发明的实施方式不限于上述值。在这点上,仍旧可以允 许后处理器丢弃在回放仍旧基本上同步时仅轻微迟到的帧。然而,如果回放失去同步,则解 码器可以确定是否显示已解码的帧,从而为观众提供可行的体验。图5是可以由根据本发明示例性实施方式的方法和计算机程序产品执行的操作
15的流程图。图5流程图的操作表示根据本发明示例性实施方式的、图3所示的操作的步骤的 简化组合。应该理解,流程图的每个框或步骤、流程图中框的组合可以通过各种方式实现, 诸如硬件、固件和/或包括一个或多个计算机程序指令的软件。例如,上述一个或多个过程 可以由计算机程序指令实现。在这点上,这些计算机程序指令可以由一个或多个电子设备 的存储器设备存储并且由至少一个处理器执行。应该理解,任何此类计算机程序指令可以 加载到计算设备或其他装置(即,硬件)上用于生产机器,从而计算设备或其他装置上执行 的指令实现图5的方法。这些计算机程序指令可以存储在计算机可读存储器中,其可以引 导计算设备或其他装置以特定方式工作,从而存储在计算机可读存储器中的计算机程序指 令生产包括用于实现图5方法的指令的产品。计算机程序指令可以加载到计算设备或其他 装置上以使得计算设备或其他装置上待执行的一系列操作步骤产生计算机实现的过程,从 而在计算设备或其他装置上执行的指令提供用于实现图4的方法的步骤。在这点上,图5示出了用于视频片段的自适应同步解码的方法的一个实施方式。 该方法的操作可以在解码器级执行,诸如由解码器执行,其可以以硬件、软件或它们的组合 来实现,并且可以由处理器控制或由处理器实现,处理器诸如移动设备10的控制器20。该 方法可以包括在操作200维持下一关键帧时间戳。如操作210所示,可以对视频片段的多 个关键帧进行解码。尽管在一个实施方式中,对所有关键帧进行解码,但是本发明的实施方 式不限于此并且可以不时丢弃关键帧。如操作220所表示的,可以对按时到达的、视频片段 的多个非关键帧进行解码。然而,如果视频帧迟到并且触发了故障安全机制或如果视频帧 迟到并且下一关键帧处于所计算的丢弃时间窗内,则可以丢弃一个或多个非关键帧直到下 一关键帧,如操作230所示。上述功能可以以多种方式执行。例如,可以采用用于执行上述每个功能的任何合 适手段来执行本发明的实施方式。在一个实施方式中,所有或一部分元件通常将在计算机 程序产品的控制下操作。用于执行本发明实施方式的方法的计算机程序产品可以包括计算 机可读存储介质,诸如非易失性存储介质,以及计算机可读程序代码部分,诸如包含在计算 机可读存储介质中的一系列计算机指令。同样,继而,本发明的实施方式可以增强视频片段的AV同步和观众的体验。在一 个方面中,本发明的实施方式支持对视频片段进行解码的诸如移动终端10的设备回放具 有超过设备硬件和/或软件能力的复杂度的视频片段。下一关键帧将何时到达的知识将允 许当帧在解码器处迟到时在下一关键帧之前丢弃非关键帧的连续序列,使得可以预先缓冲 下一关键帧和多个后续帧,从而允许在下一关键帧处恢复AV同步。如果关键帧在视频片段 中不频繁并且视频回放逐渐远远地落后于音频回放,则本发明实施方式的故障安全机制可 以通过提供在下一关键帧之前丢弃多个非关键帧而在可以恢复同步时帮助避免以下情况, 即视频回放比故障安全阈值落后于音频回放更远。而且,本发明的实施方式可以促进以下 情况,即通过限制可以被丢弃的连续帧的数量而使丢弃一系列非关键帧尽可能小地干扰观 众体验,使得周期性地位块传送至少一个帧,从而更新显示器以警告观众回放尚未停止。而 且,本发明的实施方式支持超过系统复杂度而不丢弃任何音频帧的视频片段的增强回放。本发明的实施方式还可以以媒体流式传输或实时转码设备实现。尽管这些设备通 常具有大大超过在其上观看视频片段的平均用户设备(诸如移动终端10)能力的硬件和软 件能力,但是仍旧可能创建超过此类设备的硬件和/或软件能力的视频片段。而且,设备通常按需对多个视频片段进行同时解码和转码以便向多个远程用户进行流式传输。同样,系 统资源可能被约束并且本发明的实施方式可以用于跨多个视频片段维持更好的同步,从而 可以在保持AV同步时对更多视频片段进行解码。 这里记载的本发明的很多修改和其他实施方式将被从上面的描述和相关联附图 中所呈现的教导获益的、这些发明所涉及的领域中的技术人员想到。因此,应该理解,本发 明的实施方式不限于所公开的具体实施方式
并且修改和其他实施方式旨在被包括在所附 权利要求书的范围内。尽管这里使用了特定的术语,但是仅在一般性和描述性的意义上使 用它们并且不是出于限制的目的。
权利要求
一种方法,包括维持下一关键帧时间戳;对视频片段的多个关键帧进行解码;对按时到达的视频片段的多个非关键帧进行解码;以及如果视频帧迟到并且下一关键帧处于至少部分地基于所述下一关键帧时间戳计算的丢弃时间窗内,则丢弃一个或多个非关键帧直到下一关键帧。
2.根据权利要求1所述的方法,进一步包括维持对已经丢弃的连续帧数量的计数,并 且如果已经丢弃了多于连续非关键帧的预定最大数量,则解码非关键帧。
3.根据权利要求2所述的方法,其中确定可以丢弃的连续非关键帧的预定最大数量, 从而将以足以警告视频片段观众回放尚未终止的频率对帧进行解码。
4.根据权利要求1所述的方法,进一步包括确定到达解码器的非关键帧是否迟于预定 义阈值,并且如果迟于预定义阈值,则修改非关键帧上的时间戳,以便将对其进行后处理。
5.根据权利要求4所述的方法,其中预定义阈值是100毫秒。
6.根据权利要求1所述的方法,其中通过从已缓冲的关键帧、在视频片段内散置关键 帧的已知恒定率、已经读取描述视频片段的文件并且标识了关键帧的文件格式解析器中的 一个或多个、或从与视频片段相关联的索引表提取下一关键帧的时间戳来维持下一关键帧 的时间戳。
7.根据权利要求1所述的方法,进一步包括如果视频帧迟到并且触发了故障安全机制,则丢弃一个或多个非关键帧直到下一关键 帧,其中如果视频帧延迟了大于预定阈值的时间长度,则触发故障安全机制;以及维持对已经丢弃的连续帧数量的计数,并且如果已经丢弃了多于连续非关键帧的预定 最大数量,则解码非关键帧。
8.根据权利要求1所述的方法,进一步包括维持详细描述解码关键帧所需的时间以及 解码非关键帧所需的时间的独立统计量,其中基于解码关键帧所需的时间、解码非关键帧 所需的时间以及系统能够缓冲的已解码视频帧的数量来计算丢弃时间窗。
9.一种包括至少一个计算机可读存储介质的计算机程序产品,所述计算机可读存储介 质具有存储于其中的计算机可读程序代码部分,所述计算机可读程序代码部分包括第一可执行部分,用于维持下一关键帧时间戳;第二可执行部分,用于对视频片段的多个关键帧进行解码;第三可执行部分,用于对按时到达的视频片段的多个非关键帧进行解码;以及第四可执行部分,用于如果视频帧迟到并且下一关键帧处于至少部分地基于所述下一 关键帧时间戳计算的丢弃时间窗内,则丢弃一个或多个非关键帧直到下一关键帧。
10.根据权利要求9所述的计算机程序产品,其中第四可执行部分包括用于维持对已 经丢弃的连续帧数量的计数并且如果已经丢弃了多于连续非关键帧的预定最大数量,则解 码非关键帧的指令。
11.根据权利要求10所述的计算机程序产品,其中确定可以丢弃的连续非关键帧的预 定最大数量,从而将以足以警告视频片段观众回放尚未终止的频率对帧进行解码。
12.根据权利要求9所述的计算机程序产品,进一步包括第五可执行部分,其具有用于 确定到达解码器的非关键帧是否迟于预定义阈值,并且如果迟于预定义阈值,则修改非关键帧上的时间戳,以便将对其进行后处理的指令。
13.根据权利要求12所述的计算机程序产品,其中预定义阈值是100毫秒。
14.根据权利要求9所述的计算机程序产品,其中第一可执行部分包括用于通过从已 缓冲的关键帧、在视频片段内散置关键帧的已知恒定率、已经读取描述视频片段的文件并 且标识了关键帧的文件格式解析器中的一个或多个、或从与视频片段相关联的索引表提取 下一关键帧的时间戳来维持下一关键帧的时间戳的指令。
15.根据权利要求9所述的计算机程序产品,进一步包括第五可执行部分,用于如果视频帧迟到并且触发了故障安全机制,则丢弃一个或多个 非关键帧直到下一关键帧,其中如果视频帧延迟了大于预定阈值的时间长度,则触发故障 安全机制;以及第六可执行部分,用于维持对已经丢弃的连续帧数量的计数,并且如果已经丢弃了多 于连续非关键帧的预定最大数量,则解码非关键帧。
16.根据权利要求9所述的计算机程序产品,进一步包括第五可执行部分,用于维持详 细描述解码关键帧所需的时间以及解码非关键帧所需的时间的独立统计量,并且其中第四 可执行部分包括用于基于解码关键帧所需的时间、解码非关键帧所需的时间以及系统能够 缓冲的已解码视频帧的数量来计算丢弃时间窗的指令。
17.一种包括处理器的装置,所述处理器配置为维持下一关键帧时间戳;对视频片段的多个关键帧进行解码;对按时到达的视频片段的多个非关键帧进行解码;以及如果视频帧迟到并且下一关键帧处于至少部分地基于所述下一关键帧时间戳计算的 丢弃时间窗内,则丢弃一个或多个非关键帧直到下一关键帧。
18.根据权利要求17所述的装置,其中所述处理器进一步配置为维持对已经丢弃的连 续帧数量的计数,并且如果已经丢弃了多于连续非关键帧的预定最大数量,则解码非关键 帧。
19.根据权利要求18所述的装置,其中确定可以丢弃的连续非关键帧的预定最大数 量,从而将以足以警告视频片段观众回放尚未终止的频率对帧进行解码。
20.根据权利要求17所述的装置,其中所述处理器进一步配置为确定到达解码器的非 关键帧是否迟于预定义阈值,并且如果迟于预定义阈值,则修改非关键帧上的时间戳,以便 将对其进行后处理。
21.根据权利要求20所述的装置,其中预定义阈值是100毫秒。
22.根据权利要求17所述的装置,其中所述处理器进一步配置为通过从已缓冲的关键 帧、在视频片段内散置关键帧的已知恒定率、已经读取描述视频片段的文件并且标识了关 键帧的文件格式解析器中的一个或多个、或从与视频片段相关联的索引表提取下一关键帧 的时间戳来维持下一关键帧的时间戳。
23.根据权利要求17所述的装置,所述处理器进一步配置为如果视频帧迟到并且触发了故障安全机制,则丢弃一个或多个非关键帧直到下一关键 帧,其中如果视频帧延迟了大于预定阈值的时间长度,则触发故障安全机制;以及维持对已经丢弃的连续帧数量的计数,并且如果已经丢弃了多于连续非关键帧的预定最大数量,则解码非关键帧。
24.根据权利要求17所述的装置,其中所述处理器进一步配置为维持详细描述解码关 键帧所需的时间以及解码非关键帧所需的时间的独立统计量,其中基于解码关键帧所需的 时间、解码非关键帧所需的时间以及系统能够缓冲的已解码视频帧的数量来计算丢弃时间窗。
25.一种设备,包括用于维持下一关键帧时间戳的装置; 用于对视频片段的多个关键帧进行解码的装置; 用于对按时到达的视频片段的多个非关键帧进行解码的装置;以及 用于如果视频帧迟到并且下一关键帧处于至少部分地基于所述下一关键帧时间戳计 算的丢弃时间窗内,则丢弃一个或多个非关键帧直到下一关键帧的装置。
全文摘要
一种用于数字视频的自适应同步解码的装置可以包括处理器。所述处理器配置为维持下一关键帧时间戳,对视频片段的多个关键帧进行解码,对按时到达的视频片段的多个非关键帧进行解码,以及如果视频帧迟到并且下一关键帧处于至少部分地基于所述下一关键帧时间戳计算的丢弃时间窗内,则丢弃一个或多个非关键帧直到下一关键帧。还提供了相应的方法和计算机程序产品。
文档编号H04N7/52GK101946518SQ200880126577
公开日2011年1月12日 申请日期2008年12月9日 优先权日2007年12月28日
发明者A·瓦奎罗, V·戈恩迪 申请人:诺基亚公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1