用于估计压缩的动态视频质量的技术的制作方法_3

文档序号:9220101阅读:来源:国知局
看在设备矢量数据134的每一个示例 中指定的观看特征,从而识别与最紧密地匹配观看设备700的观看特征的观看特征相关联 的矢量数据134的一个示例。
[0063] 对于每一个压缩帧,其中复杂度数据633提供时间复杂度的指示,所述时间复杂 度的指示与包括在第一和第二矢量的每一个中的时间复杂度进行比较,以识别与那些时间 复杂度中的最接近的时间复杂度相对应并且将被提供到MOS估计器647作为该压缩帧的系 数数据636的系数的第一和第二集合。实际上,包括在第一和第二矢量的每一个中的多个 时间复杂度值被用作索引,在用于该压缩帧的复杂度数据633中指示的时间复杂度值与该 索引一起使用,以分别选择系数的第一和第二集合。
[0064]MOS估计器647采用系数数据636的系数的第一和第二集合连同可以从参数数据 632取回的位速率的指示和从复杂度数据633取回的时间复杂度的指示,来得到用于正如 由压缩视频数据330a或330b中的任何一个表示的动态视频830的每一个压缩帧的估计的 MOS。在一些实施例中,可以使用下面的方程来确定估计的MOS:
[0065] v4=a4xTC+b4
[0066] V5=a5xTC+b5
[0067]
[0068] 其中&4和b4构成从第一矢量取回的系数的第一集合,而a5和b5构成从第二矢量 取回的系数的第一集合。系数^和b4的第一集合连同压缩帧的时间复杂度TC(正如复杂 度数据633所指示的)一起用于重新得到与压缩的帧相关联的非线性系数^。相对应地, 系数 &5和b5的第二集合连同压缩帧的时间复杂度TC(再次,如复杂度数据633所指示的) 一起用于重新得到与压缩帧相关联的非线性系数v5。本质上,作为使用压缩帧的时间复杂 度TC重新得到的结果,这些非线性系数的这些重新得到的版本考虑动态视频830的一部分 的时间复杂度。
[0069] 然后将这些重新得到的非线性系数^和v5连同与压缩帧相关联的位速率(如在 参数数据632中指示的)一起使用,以得到估计的MOS。以这种方式的估计的MOS然后可以 受到最小和最大限制,使得估计的MOS的值被修改以落在1到5的范围内,如果它已经不是 这样的。不管是否受到限制,MOS估计器647都向控制例程540的选择部件547和缓冲部 件548中的一个或两个提供所得到的估计的MOS。
[0070] 在包括选择部件547的实施例中,选择部件547可以基于从MOS估计器647接收 的估计的MOS来选择压缩视频数据330a和330b中的一个或另一的压缩帧,以发送到观看 设备700。作为示例,在压缩视频数据330a表示以被压缩到比压缩视频数据330b更大程 度的形式的动态视频830的场合,可以分析压缩视频数据330a的视频质量以确定压缩的 数据330a的压缩帧的视频质量是否足够高以满足期望的最小视频质量。在存在压缩的数 据330a的压缩帧的场合,其中,视频质量由其估计的MOS指示为不足够高,然后压缩的数据 330b的压缩帧可以代替压缩的数据330a的那些压缩帧,以便向观看设备700提供由来自 每一个压缩视频数据330a和330b的压缩帧的混合构成的动态视频830的压缩形式。可选 地,可以选择压缩数据330b的全部而不是压缩视频数据330a来发送到观看设备700,使得 压缩视频数据330a的所有压缩帧实际上由压缩视频数据330b的所有压缩帧所代替。
[0071] 在包括缓冲部件548的实施例中,缓冲部件548可以向观看设备700指示在接收 并且视觉地呈现动态视频830的压缩形式时,改变由观看设备700提供的缓冲的程度(例 如,增加或减小缓冲的程度)的需要。作为示例,在压缩视频数据330a表示以被压缩到比压 缩视频数据330b更大的程度的形式的动态视频830的场合,可以将压缩视频数据330b的 至少一些压缩的帧选择作为压缩的视频帧330的相对应的压缩帧的视频质量不足够高(根 据估计的MOS)的结果。作为响应并且给定压缩视频数据330b的压缩的更小程度,缓冲部 件548可以发送信号通知观看设备700以增加它在视觉地呈现动态视频830时使用的缓冲 的程度,以适应压缩视频帧330b的那些压缩帧的更高的位速率。
[0072] 图6A更详细描绘了在传输阶段中计算设备500的操作的可选实施例,而图6B更 详细描绘了在传输阶段中在这样的操作期间在部件和/或该实施例的其它部分之间交换 的数据的方面。图6A-图6B的实施例在很多方面类似于图5A-图5B的实施例,使得类似 的部件使用类似的附图标记来表示。在这两个实施例之间的一个差异中,图5A-图5B的实 施例的MOS估计器用图6A-图6B的实施例中的位速率估计器648来代替。
[0073] 位速率估计器648使用系数数据636的系数的第一和第二集合,连同从复杂度数 据633取回的时间复杂度的指示和期望的最小MOS的指示,基于分析表示动态视频830的 压缩视频数据330a和/或330b,来得到在以压缩的形式将动态视频830发送到观看设备 700时达到期望的MOS所需的估计的位速率。在一些实施例中,可以使用下面的方程来确定 所述估计的位速率:
[0074] v4=a4xTC+b4
[0075] V5=a5xTC+b5
[0076]
[0077] 其中,再次,&4和b4构成从第一矢量取回的系数的第一集合,而a5和b5构成从第 二矢量取回的系数的第一集合。再次,系数^和b4的第一集合连同压缩帧的时间复杂度 TC(如复杂度数据633所指示的)一起用于重新得到与压缩的帧相关联的非线性系数v4。 相应地,系数&5和b5的第二集合连同压缩的帧的时间复杂度TC(再次,如复杂度数据633 所指示的)一起用于重新得到与压缩的帧相关联的非线性系数v5。
[0078] 这些重新得到的非线性系数%和v5然后连同期望的MOS-起用于得到估计的位 速率。以这种方式得到的估计的位速率然后可以基于给定网络(例如,网络999)的可用带 宽和/或其它因素而受到最小和最大限制。不管是否受到限制,位速率估计器648都向控 制例程540的选择部件647和缓冲部件548中的一个或两个提供所得到的估计的位速率。
[0079] 在包括选择部件547的实施例中,选择部件547可以基于哪个压缩视频数据具有 与从位速率估计器648接收的估计的位速率更接近的位速率来选择压缩视频数据330a和 330b中的一个或另一的压缩帧以发送到观看设备700。作为示例,在压缩视频数据330a以 被压缩到比压缩视频数据330b更大的程度的形式表示动态视频830的场合,可以分析压缩 视频数据330a的视频质量以得到为了达到期望的最小M0S(例如,在从1到5的标度上的 3的M0S)需要什么位速率的估计。在所得到的估计的位速率高于压缩视频数据330a的位 速率并且更接近压缩视频数据330b的位速率的场合,然后压缩的数据330b的压缩帧可以 代替压缩的数据330a的那些压缩帧,使得向观看设备700提供由来自每一个压缩视频数据 330a和330b的压缩帧的混合构成的动态视频830的压缩形式。可选地,可以选择压缩的数 据330b的全部而不是压缩视频数据330a以发送到观看设备700,使得压缩视频数据330a 的所有压缩帧有效地由压缩视频数据330b的所有压缩帧代替。
[0080] 在包括缓冲部件548的实施例中,缓冲部件548可以向观看设备700指示在接收 并且视觉地呈现动态视频830的压缩形式时改变由观看设备700提供的缓冲的程度(例 如,增加或减小缓冲的程度)的需要。作为示例,在压缩视频数据330a以被压缩到比压缩 视频数据330b更大的程度的形式表示动态视频830的场合,压缩视频数据330b的至少一 些压缩帧可以被选择作为满足高于压缩视频数据330a的位速率并且更接近压缩视频数据 330b的位速率的期望的最小MOS所需的估计的位速率的结果。作为响应,缓冲部件548可 以发送信号通知观看设备700以增加它在视觉地呈现动态视频830时使用的缓冲的程度, 以适应压缩的视频帧330b的那些压缩帧的更高的位速率。
[0081] 返回到图1,在各种实施例中,观看设备700包括处理器部件750、存储装置760、 显示器780和将观看设备700耦合到网络900的接口 790中的一个或多个。存储装置760 存储控制例程740、设备数据735和压缩视频数据330a和330b中的一个或两个的压缩帧中 的一个或多个。控制例程740包括在起到观看设备700的主处理部件的作用的处理器部件 750上操作以实现执行各种功能的逻辑的指令的序列。在执行控制例程740的一些实施例 中,处理器部件750可以操作接口 790用于将指示观看设备的一个或多个观看特征(例如, 显示器780的尺寸和/或分辨率)的设备数据735发送到计算设备500。处理器部件750 还可以操作接口 790以接收压缩视频数据330a和330b中的一个或两个的压缩帧,可以缓 冲那些压缩帧,可以将那些压缩帧进行解压缩,并且可以在显示器780上视觉地呈现由现 在解压缩的帧表示的动态视频830。处理器部件750可以进一步操作接口 790以接收指示 来增加或减小那些压缩帧的缓冲的程度。
[0082] 图2示出了包括计算设备500的可选实施例的视频处理系统1000的可选实施例 的框图。图2的视频处理系统1000的可选实施例在很多方面类似于图1的实施例,并且因 此相似的附图标记用于始终表示相似的元件。然而,与图1的计算设备500不同,图2的计 算设备500不包括控制器600。因此,与图1的计算设备500不同,在图2的计算设备500 中,是处理器部件550执行估计例程640,代替处理器650这么做。因此,在图2的视频处理 系统1000的可选实施例中,处理器部件550可以估计以压缩的形式表示动态视频830的压 缩视频数据330a和/或330b的压缩帧。
[0083] 在各种实施例中,处理器部件150、550、650和750中的每一个可以包括各种各样 的市场上可买到的处理器中的任一种。此外,这些处理器部件中的一个或多个可以包括 多个处理器、多线程处理器、多核心处理器(不管多个核心是否在相同或单独的管芯上共 存),和/或通过其多个物理上分开的处理器以某种方式被链接的某个其它种类的多处理 器体系结构。
[0084] 虽然处理器部件150、550、650和750中的每一个可以包括多种类型的处理器中的 任一种,但是设想控制器600的处理器部件650 (如果存在)可以被稍微专门化和/或优化, 以执行与图形和/或视频相关的任务。更广泛地,设想控制器600体现计算设备500的图 形子系统,以能够使用与处理器部件550以及其更紧密相关的部件分离和不同的部件来执 行与图形表现、视频压缩、图像缩放等有关的任务。
[0085] 在各种实施例中,存储装置160、560、60和760中的每一个可以基于各种各样的 信息存储技术中的任一种,可能包括需要电力的不中断供应的易失性技术,以及可能包 括需要使用可移动或可不移动的机器可读存储介质的技术。因此,这些存储装置中的每 一个可以包括各种类型(或类型的组合)的存储器中的任一种,包括但不限于:只读存 储器(ROM)、随机存取存储器(RAM)、动态RAM(DRAM)、双数据速率DRAM(DDR-DRAM)、同步 DRAM(SDRAM)、静态RAM(SRAM)、可编程RAM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可 编程ROM(EEPR0M)、闪存、聚合物存储器(例如,铁电聚合物存储器)、双向存储器、相变或铁 电存储器、硅-氧化物-氮化物-氧化物-硅化物(S0N0S)存储器、磁卡或光卡、一个或多个 单独的铁磁盘驱动器或被组织成一个或多个阵列的多个存储设备(例如,被组织成冗余阵 列的独立盘阵列或RAID阵列的多个铁磁盘驱动器)。应注意,虽然这些存储装置中的每一 个被描绘为单个块,但是这些存储器的一个或多个可以包括可以基于不同的存储技术的多 个存储设备。因此例如,每一个这些所描绘的存储装置中的一个或多个都可以表示程序和 /或数据可以通过光学驱动器或闪存读卡器在某种形式的机器可读存储介质上存储并且传 送的光学驱动器或闪存读卡器、在相对延长的时期段内局部地存储程序和/或数据的铁磁 盘驱动器、以及能够相对快地对程序和/或数据进行访问的一个或多个易失性固态存储器 设备(例如,SRAM或DRAM)的组合。也应注意,这些存储装置中的每一个都可以由基于相 同的存储技术的多个存储部件构成,而所述多个存储部件作为专用的结果可以被单独地保 持(例如,一些DRAM设备被用作主存储装置,而其它DRAM设备被用作图形控制器的不同的 帧缓冲器)。
[0086] 在各种实施例中,接口 190、590和790可以使用能够使这些计算设备如所描述的 耦合到其它设备的各种信令技术中的任一种。这些接口中的每一个包括提供至少一些必要 的功能来实现这样的耦合的电路。然而,这些接口中的每一个还可以至少部分地使用由处 理器部件的相对应的部件执行(例如,以实现协议栈或其它特征)的指令序列来实现。在采 用电和/或光传导电缆的场合,这些接口可以采用符合各种工业标准中的任一种的信令和 /或协议,所述信令和/或协议包括但不限于RS-232C、RS-422、USB、以太网(IEEE-802. 3) 或IEEE-1394。在需要使用无线信号传输的场合,这些接口可以使用符合各种工业标准中 的任一种的信令和/或协议,所述信令和/或协议包括但不限于IEEE-802.lla、802. 11b、 802.llg、802. 16、802. 20(通常被称为"移动宽带无线接入")、蓝牙、ZigBee或蜂窝无线电 话服务,例如,GSM通用分组无线业务(GSM/GPRS)、CDMA/lxRTT、用于全球演进的增强型数 据速率(EDGE)、仅数据演进/优化(EV-D0)、数据和语音演进(EV-DV)、高速下行链路分组接 入(HSDPA)、高速上行链路分组接入(HSUPA)4GLTE等。
[0087] 图7示出了逻辑流程2100的一个实施例。逻辑流程2100可以表示由本文描述的 一个或多个实施例执行的一些或所有操作。更具体地,逻辑流程2100可以示出由处理器部 件150在至少执行控制例程140时执行的操作和/或由训练设备100的其它部件执行的操 作。
[0088] 在2110,训练设备的处理器部件(例如,训练设备100的处理器部件150)使观看 设备视觉地呈现动态视频的训练集合的多个动态视频。动态视频可以被发送到观看设备或 另外经由诸如可移动存储介质(例如,光盘、非易失性固态存储设备等)之类的这样的机构 被提供给观看设备。如前面所解释的,可以基于其时间复杂度来选择每一个动态视频,以提 供具有选定分布的时间复杂度的选定范围的训练集合。
[0089] 在2120,接收经由观看设备观看的训练集合的每一个动态视频的人的意见分数的 指示,并且将其存储为原始训练数据。如所讨论的,分数可以基于在实现广泛已知的和使用 的MOS估计技术时通常使用的1到5的值的数值评分系统。
[0090] 在2130,通过可以是迭代的非线性拟合从原始训练数据的意见分数得到至少一个 数学模型的第一和第二非线性系数。在2140,对于训练集合的每一个动态视频,然后从第一 和第二非线性系数并且从每一个动态视频的时间复杂度得到系数的单独的第一和第二集 合。
[0091] 在2150,与训练集合的每一个动态视频相关联的系数的第一集合中的全部与所述 动态视频的
当前第3页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1