用于检测视频内容的基于硬件或基于软件的解码的配置

文档序号:1430969 发布日期:2020-03-17 浏览:12次 >En<

阅读说明:本技术 用于检测视频内容的基于硬件或基于软件的解码的配置 (Configuration for detecting hardware-based or software-based decoding of video content ) 是由 D·L·普雷斯特加德 J·莱斯 M·阿拉纳 于 2019-08-28 设计创作,主要内容包括:过程从媒体内容服务器接收媒体内容。此外,该过程利用媒体回放设备处的处理器对与媒体内容对应的一个或多个样本文件执行第一回放。一个或多个样本文件均对应于不同的编解码器格式。另外,该过程利用媒体回放设备处的处理器确定一个或多个样本文件中的每一个的置信度得分。置信度得分与指示不同的编解码器格式是基于软件的或基于硬件的的一个或多个因素相关联。最后,该过程利用媒体回放设备处的处理器根据基于硬件的不同的编解码器格式对媒体内容的至少大部分执行第二回放。(The process receives media content from a media content server. Further, the process performs, with a processor at the media playback device, a first playback of one or more sample files corresponding to the media content. The one or more sample files each correspond to a different codec format. In addition, the process determines, with a processor at the media playback device, a confidence score for each of the one or more sample files. The confidence scores are associated with one or more factors indicating that the different codec formats are software-based or hardware-based. Finally, the process performs a second playback of at least a majority of the media content according to the hardware-based disparate codec format with a processor at the media playback device.)

用于检测视频内容的基于硬件或基于软件的解码的配置

技术领域

本公开总体涉及视频内容领域。

背景技术

当接收用于回放的视频内容时(例如,经由流式传输、下载等),回放设备通常以编码格式接收视频内容。此外,回放设备执行编解码器以解码视频内容以进行回放。随着更高分辨率显示设备(例如,4K电视)的出现,视频内容开发者经常想知道用什么编解码器格式来编码经由回放设备发送给用户的视频内容。因此,当前回放设备可以根据开发者选择的编解码器来执行解码,开发者选择的编解码器可能与用于特定回放设备的最佳编解码器不一致。因此,当前回放设备未被配置为执行视频内容的最佳回放。

发明内容

在一个方面,一种计算机程序产品包括非暂时性计算机可读存储设备,其上存储有计算机可读程序。当计算机可读程序在计算机上执行时使得计算机从媒体内容服务器接收媒体内容。此外,使得计算机利用媒体回放设备处的处理器对与媒体内容对应的一个或多个样本文件执行第一回放。一个或多个样本文件均对应于不同的编解码器格式。另外,使得计算机利用媒体回放设备处的处理器确定一个或多个样本文件中的每一个的置信度得分。置信度得分与指示不同的编解码器格式是基于软件的或基于硬件的的一个或多个因素相关联。最后,使得计算机利用媒体回放设备处的处理器根据基于硬件的不同的编解码器格式来执行媒体内容的至少大部分的第二回放。在替代方面,在根据不同的编解码器格式执行第二回放之前,可以利用处理器中断第一回放。

在另一方面,由计算机可读程序执行的功能可以由装置实现。在又一方面,由计算机可读程序执行的功能可以由过程(process)实现。

附图说明

参考以下结合附图的描述,本公开的上述特征将变得更加明显,其中,相同的附图标记表示相同的元件,并且其中:

图1示出了媒体回放设备的内部组件的框图,该媒体回放设备确定用于回放内容的最佳状态。

图2示出了使用图1中所示的媒体回放设备来解码媒体内容的系统。

图3A示出了由媒体回放设备回放以确定状态的图1中所示的样本媒体文件之一的示例。

图3B示出了在回放样本媒体文件期间可以定位在图3A中所示的样本媒体文件上的覆盖(overlay)。

图4示出了可用于确定图1中所示的一个或多个样本媒体文件的置信度得分的过程。

图5示出了可用于确定图1中所示的一个或多个样本媒体文件的置信度得分的另一过程。

具体实施方式

配置检测媒体播放器是否正在执行视频内容的基于硬件的原生(native)解码(例如,经由安装在设备芯片组上的硬件)或基于软件的解码。通过确定相应的媒体回放设备(例如,移动设备、连接的电视、蓝光播放器、个人计算机、虚拟现实装置、增强现实装置等)的基于硬件的能力,媒体播放器然后可以确定是否使用基于硬件的解码或基于软件的解码来优化回放设备的功能和观看者体验。

图1示出了媒体回放设备100的内部组件的框图,该媒体回放设备确定用于回放内容的最佳状态(即,基于硬件或基于软件的解码)。媒体回放设备100可以具有中央处理单元(“CPU”)101、图形处理器单元(“GPU”)108、存储器设备102、收发器104、输入/输出(“I/O”)设备103(例如,遥控器、鼠标、操纵杆、键盘等)和数据存储设备105。

此外,数据存储设备105可以存储媒体内容106、媒体播放器107、状态检测代码108和/或样本媒体文件109。媒体内容106的示例包括但不限于电影、电视节目、文献、视频游戏、音乐、广告等。另外,一个或多个样本媒体文件109(每个都对应于特定的编解码器格式(例如,高效视频编码(“HEVC”)、高级视频编码(“MPEG-4AVC”)、AOMedia视频1(“AV1”)等)可以是媒体内容106的一部分或不同于媒体内容106。一个或多个样本文件109可以与特定媒体内容相关联以用于回放。此外,一个或多个样本文件109可以仅是对应的媒体内容106的大小的一部分。媒体播放器107可以由CPU 101执行以执行媒体内容106或对应的样本媒体文件109的回放。

此外,状态检测代码108可以由CPU 101执行以确定用于回放特定媒体内容106的最佳状态(即,特定编解码器格式)。例如,CPU 101可以执行状态检测代码108以分析各种编解码器格式的一个或多个样本文件109。结果,CPU 101可以确定特定媒体播放器107和媒体回放设备100的最佳编解码器格式(即,基于原生硬件或基于软件)。例如,CPU 101可以确定AVC是用于媒体播放器107和媒体回放设备100的基于原生硬件的编解码器格式,而HEVC是基于软件的编解码器格式。此外,CPU 101可以确定使用HEVC来执行视频内容解码将导致媒体回放设备100的电池耗电明显多于AVC,因为基于软件的解码通常比基于硬件的解码更耗电池。因此,CPU 101可以经由基于硬件的编解码器(例如,AVC)以比基于软件的编解码器(例如,HEVC)低的分辨率执行媒体播放器107,以改善媒体播放器107和媒体回放设备100的功能。

作为对比,以前的媒体播放器不被配置为确定原生于硬件的编解码器的类型而是什么编解码器是基于软件的。以前的媒体播放器缺乏此认识的原因是用于两个相同的回放设备的芯片组可能被配置为具有不同的编解码器格式。例如,硬件制造商可能已经在第一批回放设备上实现HEVC作为基于原生硬件的编解码器格式,然后却在第二批回放设备上将AVC实现为基于原生硬件的编解码器格式。因此,以前的媒体播放器通常不知道原生于以前的回放设备的硬件的特定编解码器格式。结果,以前的媒体播放器经常以能量效率低和内存效率低的方式***作。

另一方面,图1中所示的媒体播放器107通过确定最佳编解码器格式来改进CPU101和存储器设备102的功能。例如,CPU 101可以执行状态检测代码108以在回放一个或多个样本媒体文件109期间对媒体回放设备100使用的系统资源(例如,CPU利用率、存储器约束等)运行各种查询/轮询。在一个方面,CPU 101执行状态检测代码108以基于在一个或多个样本媒体文件109的回放期间受影响的一个或多个因素(例如,系统资源)来计算得分。

一个或多个样本媒体文件109可以被构成为相对于媒体内容106的长度提供在短的持续时间内的大水平的计算强度。例如,一个或多个样本媒体文件109可以是高分辨率文件(例如,4K、1080i、720p等),使得与基于硬件的编解码器相比,基于软件的编解码器的资源执行的差异将是明显的。

一个或多个因素的示例包括但不限于CPU利用率、存储器约束、从媒体回放设备100的操作系统接收的数据、操作系统的版本、媒体回放设备100的型号、金丝雀过程(canary process)(即,用于确定畸变的最小功能测试)、从热传感器接收的数据(例如,CPU温度)、媒体内容106的类型(例如,主要内容或附加物)和/或媒体内容106的长度。例如,与基于原生硬件的相比,基于软件的编解码器执行通常与CPU尖峰相关联。因此,当在各种样本媒体文件109上执行状态检测代码108时,CPU 101可以确定样本媒体文件109中的哪些正在引起CPU尖峰而哪些没有引起CPU尖峰。除了一个或多个其他因素之外,该因素可以用于生成置信度得分(即,根据基于原生硬件或基于软件的编解码器对特定样本媒体文件109进行编码的置信水平)。

在一个方面,可以通过将与每个因素相关联的子得分制表(tabulate)来确定置信度得分。在另一方面,子得分可以是加权的。例如,可以为CPU利用率因素分配比媒体回放设备100的型号更高的权重。此外,可以为置信度得分(即,子得分的总和,加权或者未加权)确立预定的容限阈值。如果样本媒体文件109具有超过预定的容限阈值的置信度得分,则可以认为用于样本媒体文件109的编解码器格式是基于软件的;与如果低于预定的容限阈值则是基于硬件的形成对比。

在一个方面,CPU 101执行状态检测代码108以确定在回放媒体内容106或媒体内容106的至少实质部分之前的状态。在另一方面,CPU 101可以继续在媒体内容106的回放期间执行状态检测代码108。例如,媒体内容106可以流式传输到媒体回放设备100,使得第一部分根据HEVC编码,而第二部分根据AVC编码。CPU 101可以监测媒体内容106的回放以确定置信度得分是否超过预定的容限阈值。例如,在从基于原生硬件的编解码器格式从HEVC到AVC的中途改变之后,可能发生CPU利用率尖峰。由于媒体播放器107可能正使用HEVC编解码器来避免电池耗电,例如通过样本媒体文件109分析所确定,所以当因素中途改变时,媒体播放器107仍然可以使用HEVC编解码器。因此,CPU 101可以通过连续监测来确定这样的改变并修改状态。

图2示出了使用图1中所示的媒体回放设备100来解码媒体内容106的系统200。在一个方面,媒体回放设备100从远程媒体内容服务器201经由计算机化网络202接收编码的媒体内容106。此外,媒体回放设备100对编码的媒体内容106进行解码,以便在与媒体回放设备100可操作地通信的显示设备204(例如,电视)上显示。例如,显示设备204可以是与提供解码的媒体内容的输出(例如,经由有线或无线连接)的媒体回放设备100分离的设备。替代地,显示设备204可以集成在媒体回放设备100中。在另一方面,媒体回放设备100在本地地接收编码的媒体内容(例如,通过DVD***、USB连接等)。

图3A示出了由媒体回放设备100回放以确定状态的图1中所示的样本媒体文件109之一的示例。例如,样本媒体文件109可以是媒体内容106的高分辨率或其他资源密集型部分。

此外,图3B示出了覆盖301,其可以在样本媒体文件109的回放期间定位在图3A中所示的样本媒体文件109上。换句话说,媒体回放设备100可以经由覆盖301隐藏样本媒体文件109的回放,使得用户203(图2)不必在媒体回放设备100确定状态期间观看样本媒体文件109。例如,覆盖301可以是登录屏幕、诊断影像、对应于媒体内容106的图形(例如,人物图像)等。

图4示出了可用于确定图1中所示的一个或多个样本媒体文件109的置信度得分的过程400。在过程框401处,过程400从媒体内容服务器201(图2)接收媒体内容106(图1)。此外,在过程框402处,过程400利用媒体回放设备100处的处理器101执行与媒体内容106对应的一个或多个样本文件109的第一回放。一个或多个样本文件每个对应于不同的编解码器格式。另外,在过程框403处,过程400利用媒体回放设备100处的处理器101确定一个或多个样本文件109中的每一个的置信度得分。置信度得分与指示不同的编解码器格式是基于软件或基于硬件的的一个或多个因素相关联。最后,在过程框404,过程400利用媒体回放设备100处的处理器101根据基于硬件的不同的编解码器格式对媒体内容106的至少大部分执行第二回放。

图5示出了可用于确定图1中所示的一个或多个样本媒体文件109的置信度得分的另一过程500。在过程框501处,过程500从媒体内容服务器201(图2)接收媒体内容。此外,在过程框502处,过程500利用媒体回放设备100处的处理器101执行媒体内容的第一部分的第一回放。媒体内容106的第一部分对应于第一编解码器格式。另外,在过程框503处,过程500利用媒体回放设备100处的处理器101确定在第一回放开始之后媒体内容106的第二部分的置信度得分。置信度得分与指示第二部分对应于基于软件或基于硬件的第二编解码器格式的一个或多个因素相关联。第二编解码器格式与第一编解码器格式不同。

此外,在过程框504处,过程500利用处理器101中断第一回放。最后,在过程框505处,过程500利用媒体回放设备100处的处理器101根据第二编解码器格式执行媒体内容的第二部分的第二回放。

本文描述的过程可以在专用的、通用的、多用途的或单用途的处理器中实现。这样的处理器将在汇编、编译或机器级执行指令以执行处理。这些指令可以由本领域普通技术人员在对应于过程的附图的描述之后编写并且在计算机可读介质上存储或传输。还可以使用源代码或任何其他已知的计算机辅助设计工具来创建指令。计算机可读介质可以是能够携带那些指令的任何介质,例如计算机可读存储设备,并包括CD-ROM、DVD、磁盘或其他光盘、磁带、硅存储器(例如,可移动、不可移动、易失性或非易失性)、通过本地或远程通过网络的有线或无线传输的分组化的或非分组化的数据。这里的计算机旨在包括具有如上所述的通用、多用途或单用途处理器的任何设备。例如,计算机可以是台式计算机、膝上型计算机、智能电话、平板设备、机顶盒等。

应理解,本文描述的装置、系统、计算机程序产品和过程还可以应用于其他类型的装置、系统、计算机程序产品和过程。本领域技术人员将理解,可以在不脱离本装置、系统、计算机程序产品和过程的范围和精神的情况下配置本文描述的装置、系统、计算机程序产品和过程的各方面的各种改编和修改。因此,应理解,在所附权利要求的范围内,本发明的装置、系统、计算机程序产品和过程可以不同于本文具体描述的方式实施。

14页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种弹幕显示方法、装置及电子设备

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类