基于信道质量的动态视频编码的制作方法

文档序号:8286202阅读:389来源:国知局
基于信道质量的动态视频编码的制作方法
【技术领域】
[0001] 本文中描述的实施例总体上涉及通过动态地生成用于对视频进行编码的参考图 来提高在信道上传输的编码视频的视觉质量。
【背景技术】
[0002] 在将数字视频从数字视频的发射器或源传输到该数字视频的接收器之前,可以对 该数字视频进行压缩。如将会理解的,存在各种不同的编码技术和编码标准,每个都具有 它们自身的压缩级别。然而一般来说,压缩程度越大,传输对丢失越敏感。例如,与未压缩 的数字视频或经过较小压缩的数字视频相比,高度压缩的数字视频将对丢包更敏感。压缩 数字视频丢包的效果可以呈现为可视伪影(例如,定格的帧或块、黑帧、模糊、重影、缺失像 素、抖动等)。另外,使用时间编码技术(例如,I、P、B、帧等)来编码的数字视频对丢失更 敏感,这是由于通常需要来自先前帧的数据或者先前帧和将来帧的数据来解码特定帧。由 此,单个包的丢失可能导致超过单个帧的可视伪影。在极端的情况下,依靠该丢失包的所有 帧都会定格,直到接收到完整的刷新帧。
[0003] 如将会理解的,未压缩的视频可能太大而无法在一些传输信道(例如,无线信道) 上传输。由此,基于现有技术将压缩视频对丢失的稳健性和该压缩视频的质量进行平衡。由 于在其上传输视频的信道的状态在变化,这可能不能导致提高的稳健性,并且质量也可能 被不必要地降低。此外,信道资源可能不能被有效地利用。
[0004] 因此,需要提供对在信道上传输的视频的编码的动态适应以提高在接收器处的视 频质量。
【附图说明】
[0005] 图1示出了一个动态视频编码和解码系统的实施例。
[0006] 图2-3各示出了该动态视频编码和解码系统的实施例的一部分。
[0007] 图4-7各示出了根据实施例的参考图的示例。
[0008] 图8-9各示出了根据实施例的逻辑流程。
[0009] 图10示出了根据实施例的处理架构。
【具体实施方式】
[0010] 各个实施例总体上定向到基于参考图将视频动态地进行编码的技术。基于表明了 要在其上传输编码视频的信道的质量以及该视频的质量的数据来生成参考图。在编码视频 的传输过程中(例如,周期性地、在设定的时间间隔、在检测到变化时等),可以重新生成参 考图以便提高视频质量并且考虑到变化的信道质量数据。
[0011] 如将会理解的,在将视频在信道(例如,无线、有线等)上传输之前,通常已经将视 频进行了编码。在很多情况下,该编码包括对视频的压缩以方便在对应于信道的带宽上传 输该视频。一旦在信道上传输视频(例如,在接收器处接收到并解码),则该视频的质量就 依赖于编码以及信道。例如,高级别的压缩可以导致降低的视频质量。作为另一个示例,在 信道上进行传输过程中的高丢包率也可以导致降低的视频质量。由此,本公开提供了基于 参考图而动态地将视频进行编码,所述参考图被更新以考虑到变化的信道状态。
[0012] 通过一般性地引用本文中所使用的注释和术语,可以按照在计算机或计算机网络 上执行的程序过程来呈现后文中的详细描述的一些部分。这些过程描述和表被本领域技术 人员使用以最高效地将他们的工作的实质传递给本领域其他技术人员。总体上,本文中的 过程可以被设想为可以导致期望的结果的自相一致的操作序列。这些操作需要对物理量进 行物理操作。通常来说,尽管不是必须地,但是这些物理量采用电、磁或光信号的形式,其中 该信号能够被存储、转移、组合、比较、以及进行其它操作。主要为了通用的原因,有时将这 些信号称为比特、数值、元件、符号、字符、术语、数字等是方便的。然而应当注意的是,所有 这些和类似的术语都与合适的物理数量相关联,并且仅为应用于这些物理量的方便标签。
[0013] 此外,这些操作通常被明确地指代(例如,添加和比较),其中这些通常与由人类 操作者所执行的智力操作相关联。然而,在本文描述的、形成一个或多个实施例的一部分的 任意操作中,人类操作者的这种能力不是必须的,或者在大多数情况下是不需要的。相反, 这些操作是机器操作。用于执行各个实施例的操作的有用机器包括由存储于其中的根据本 文中的教导所编写的计算机程序所选择性地激活或配置的通用数字计算机,和/或包括为 了所要求的目的而特别构造的装置。各个实施例还关于用于执行这些操作的装置和系统。 这些设备可以为了所要求的目的而特别构造,或可以包括通用计算机。针对各种这些机器 所要求的结构将在给定的描述中显而易见。
[0014] 现在参考附图,其中相似的附图标记用于指代全文中相似的元件。在以下描述中, 为了说明的目的,阐述了许多具体细节以提供对其的透彻理解。然而可能明显的是,可以实 践这些新颖的实施例而无需这些具体细节。在其它实例中,以框图的形式示出了公知的结 构和设备以方便对其的描述。目的在于覆盖权利要求范围内所有的修改、等同物、和替代 物。
[0015] 图1是包含有计算设备100和计算设备200的动态视频编码和解码系统1000的 实施例的框图。这些计算设备中的每一个计算设备可以是各种类型的计算设备中的任意一 种,其包括但不限于:台式计算机系统,数据输入终端、膝上型计算机、上网本计算机、平板 计算机、手持个人数据助理、智能电话、数码相机、集成到布料或可穿戴配件(例如,眼镜、 手表等)中的人体可穿戴的计算设备、集成到车辆(例如,轿车、自行车、轮椅等)中的计算 设备、服务器、服务器集群、服务器场、站、无线站、用户设备等等。此外,计算设备1〇〇可以 是在传统意义上并不被认为是"计算机"的各种类型的显示设备中的任意一种,其包括但不 仅限于:DVD播放机、便携式视频播放机、视频游戏机系统、电视接收机、视频内容流设备等 等。实施例并不限于此上下文中。
[0016] 如图所示,计算设备100和200通过网络999来交换传递编码视频和/或信道质 量数据的信号。然而,这些计算设备中的一个或多个可以通过网络999相互和/或与其它 计算设备(未示出)交换与编码视频和/或质量信息完全无关的数据。在各个实施例中, 网络999可以是可能限于在单个的建筑或其它相对有限的区域内扩展的单一网络、可以是 可能扩展相当大的距离的连接网络的集合、和/或可以包括因特网。因此,网络999可以基 于信号可以基于其进行交换的各种通信技术(或通信技术的集合)中的任意通信技术,其 包括但不限于:采用电和/或光导电缆的有线技术、以及采用红外、射频或其它形式的无线 传输的无线技术。此外,尽管网络999被示出为无线网络,但是在一些示例中,其也可以是 有线网络。
[0017] 应当注意的是,尽管单个计算设备(例如,计算设备100)被描述为用于编码和传 输视频而同时单个计算设备(例如,计算设备200)被描述为用于接收和解码视频,但是根 据本公开,每个单独的计算设备的特征可以被集成到两个计算设备中,使得每个计算设备 都可以编码、传输、接收和解码视频。由此,计算设备1〇〇和200可以例如用于促成计算设 备的用户之间的视频通话。作为特定的示例性示例,计算设备100和200可以是在网络999 上运行的智能电话。这些智能电话可以用于参与智能电话的用户之间的视频通话。
[0018] 在各种实施例中,计算设备100包含了处理组件110、控制器120、存储设备130、显 示器140、和接口 150中的一个或多个,以将计算设备100耦合到网络999。存储设备130 存储控制例程131、信道质量数据300、参考图132、已编码的视频帧133、和视频帧134中的 一个或多个。在各个实施例中,计算设备200包含处理组件210、控制器220、存储设备230、 显示器240、和接口 250中的一个或多个,以将计算设备200耦合到网络999。存储设备230 存储控制例程231、信道质量数据300、已编码的视频帧133、和已解码的视频帧232中的一 个或多个。
[0019] 应当注意的是,尽管所示的存储设备130和230均包括信道质量数据300,但是存 储在存储设备130和230每个中的信道质量数据300可以不是相同的信道质量数据和/或 可以包括信道质量数据的一部分。此外,在存储设备130和230包括信道质量数据的一部 分的情况下,其所包括的部分可以是不同的。
[0020] 在计算设备100中,控制例程131包含一系列指令,这些指令在作为主处理器组件 或图像处理单元的处理器组件110上运行,以实现执行各种功能的逻辑。在执行控制例程 131的过程中,在计算设备100将视频进行编码时,处理器组件110生成信道质量数据300 的一部分。生成的信道质量数据300的该部分可以包括已编码视频帧的视觉质量的表示, 在信道999上传输该表示之前,在计算设备100处测量该表示。控制例程131可以实现用 于测量已编码视频帧的视觉质量的各种技术中的任意技术。
[0021] 如将在下文中更详细描述的,在计算设备100处测量的视觉质量可以对应于质量 的基本级别。此外,如将在下文中更详细说明的,信道质量数据300可以包括由计算设备 200生成的部分。
[0022] 另外,在执行控制例程131的过程中,基于信道质量数据300,处理器组件110生成 参考图132。如将在下文中更详细说明的,为了编码的目的,参考图132包括视频帧134中 的各个单独的视频帧之间的关系的表示。换句话说,参考图132将关系定义为视频的I、P、 和B帧。在一些示例中,该关系可以是分层的。此外,如将在下文中更详细说明的,该参考 图可以动态更新(例如,基于变化的信道质量数据)。
[0023] 另外,在执行控制例程131过程中,基于所述参考图,处理器组件对视频帧134进 行编码,生成已编码视频帧133。控制例程131可以实现用于对视频进行编码的各种编码技 术和/或算法中的任意一种。例如,可以采用但不限于:h.264编解码器、由Microsoft?编 码的VC1、由Google?编码的VP8、或用于数字视频的其它任意编码方案或编解码器。
[0024] 此外,在执行控制例程131过程中,处理器组件110可以通过信道999将已编码视 频帧133传输到计算设备200。
[0025] 在计算设备200中,控制例程231包含一系列指令,这些指令在作为主处理器组件 或图像处理单元的处理器组件210上运行,以实现执行各种功能的逻辑。在执行控制例程 231的过程中,处理器组件210从计算设备100接收已编码视频帧133。
[0026] 另外,在执行控制例程231的过程中,处理器组件210可以解码已编码视频帧133 并将已解码视频保存为已解码视频帧232。此外,在执行控制例程231的过程中,处理器组 件210可以使显示器显示已解码视频帧232。
[0027] 此外,在执行控制例程231的过程中,处理器组件210生成信道质量数据300的一 些部分。生成的信道质量数据300的这些部分包括已解码视频帧的视觉质量的表示,从在 信道999上接收到之后,在计算设备200处测量该表示。控制例程231可以实现用于测
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1