用于无线视频的自适应比特率流传输的制作方法

文档序号:11162286阅读:418来源:国知局
用于无线视频的自适应比特率流传输的制造方法与工艺

本申请要求于2014年7月10日提交的题为“ADAPTIVE BITRATE STREAMING FOR WIRELESS VIDEO(用于无线视频的自适应比特率流传输)”的美国专利申请序列号14/327,752的优先权,该美国专利申请以其全部内容通过引用结合在此。



背景技术:

借助于无线显示技术将视频内容(例如,来自互联网的内容、本地保存的内容等)从移动设备流传输至电视机变得日益流行。例如,Wi-Fi通信信道可以用于实现无线显示(WiDi)和/或Miracast技术,从而使用户能够将视频、电影、照片或显示内容从移动设备流传输至电视机。

在一些实现方式中,当借助于无线信道传输视频内容时,无线信道容量可能不是瓶颈或关注点。然而,借助于无线信道以不必要的高编码比特率流传输视频内容可能引起若干问题,如,浪费无线带宽、引起传输环境中的干扰、以及缩短流传输视频内容的移动设备的电池寿命。具体地,缩短的电池寿命可能比较显著并且可能使移动设备和/或电视机的用户的用户体验降级。在其他实现方式中,无线信道容量可能是关注点并且以较低的比特率来流传输视频内容对于利用无线通信信道而言可能是有利的。

目前的WiDi/Miracast解决方案可以设置固定的相对高的视频编码比特率(例如,针对1920*1080分辨率视频,约9兆位每秒(Mbps)的平均编码比特率以及约12Mbps的最大比特率),从而保证无论流传输什么样的视频内容,传输都将不会使源内容(例如,发射设备上的内容)的质量降级。这种技术可能导致在WiDi/Miracast视频流传输过程中的较短电池寿命。已经提出了解决方案用于降低编码比特率,但是这种解决方案可能并不保证在接收显示设备(例如,电视机)处的视频质量或用户体验质量。

因此,现有技术并不提供用于在发射设备(例如,移动设备)处提高电池寿命并且在接收设备(例如,电视机)处呈现高质量视频的具有减小的比特率的视频内容的无线流传输。随着对发射来自发射设备的视频内容以进行高质量呈现、使接收设备处的视频内容美观舒适的需求变得更加广泛,这种问题可能变得至关重要。

附图说明

在附图中通过举例而非限制的方式展示了在此所描述的材料。为了图示的简明和清晰,图中所展示的元件不一定按比例绘制。例如,为清楚起见,某些元件的尺寸相对于其他元件可能被放大了。另外,在认为适当的情况下,在附图之间对参考标记加以重复以表示相应的或相似的元件。在附图中:

图1是用于对视频内容进行无线传输的示例系统的示意图;

图2展示了用于对视频内容进行编码以进行无线传输的示例系统;

图3展示了用于对视频内容进行编码以进行无线传输的示例系统;

图4是流程图,展示了用于对视频内容进行编码以进行无线传输的示例过程;

图5是流程图,展示了用于对视频内容进行编码以进行无线传输的示例过程;

图6是示例系统的示意图;

图7是示例系统的示意图;以及

图8展示了全部根据本公开的至少一些实现方式安排的示例设备。

具体实施方式

现在参照附图描述一个或多个实施例或实现方式。虽然对特定配置和安排进行了讨论,但应理解,这仅出于说明目的来进行。相关领域的技术人员将认识到,在不背离本描述的精神和范围的情况下可以采用其他配置和安排。对相关领域技术人员而言将明显的是,在此描述的技术和/或安排还可以在除了在此描述的系统和应用之外的各种各样的其他系统和应用中被采用。

虽然以下描述阐述可以在如例如片上系统(SoC)架构的架构中显现各实现方式,但在此描述的技术和/或安排的实现方式并不局限于具体的架构和/或计算系统并且出于类似目的可以由任何架构和/或计算系统实现。例如,采用例如多个集成电路(IC)芯片和/或封装体、和/或各种计算设备和/或消费电子产品(CE)设备(如机顶盒、智能电话等)的各架构可以实现在此描述的技术和/或安排。此外,虽然以下描述可以阐述许多特定的细节(如逻辑实现、系统部件的类型和内在关系、逻辑划分/集成选择等),但要求保护的主题可以在没有这些特定细节的情况下被实践。在其他实例中,可以不详细示出某些材料(如,例如,控制结构和完整的软件指令序列),以便不模糊在此公开的材料。

在此公开的材料可以在硬件、固件、软件、或其任意组合中实现。在此公开的材料还可以被实现为存储于机器可读介质上的指令,这些指令可以由一个或多个处理器来读取并执行。机器可读介质可以包括用于存储或传输具有由机器(例如,计算设备)可读的形式的信息的任何介质和/或机制。例如,机器可读介质可包括:只读存储器(ROM);随机存取存储器(RAM);磁盘存储介质;光存储介质;闪速存储设备;电、光、声或其他形式的传播信号(例如,载波、红外信号、数字信号等)以及其他。

说明书中提到“一种实现方式”、“实现方式”、“示例实现方式”等表明所描述的实现方式可以包括具体特征、结构、或特性,但每个实施例可能不一定包括这个具体特征、结构、或特性。而且,这些短语不一定指同一实现方式。此外,当结合一个实施方式来说明特定特征、结构或特性时,应当指出,无论是否在本文中明确说明,结合其他实施方式来实现这种特征、结构或特性都在本领域技术人员的知识范围内。

本文描述的方法、设备、装置、计算平台和制品涉及对视频内容进行编码以进行无线传输,并且具体地涉及选择用于对视频内容进行编码的比特率。

如上所述,借助于无线显示技术将如源视频(例如,来自互联网的内容、本地保存的内容等)的视频内容从移动设备流传输至电视机可能是有利的。例如,这种系统可以在呈现和共享内容方面为用户提供灵活性。还如所讨论的,一些现有技术可提供固定相对高的编码比特率,其可能在发射设备处缩短电池寿命和/或在无线通信信道上引起过度使用或负担。其他现有技术可能以降低用户体验的降低的视频质量为代价降低编码比特率。

在本文所讨论的一些实施例中,编码视频内容以进行无线传输可以包括确定用于对源视频的片段进行编码的多个候选比特率。例如,候选比特率可能是用于基于本地编解码器(例如,由发射设备用来进行编码并由接收设备用来进行解码的本地视频编解码器)对源视频进行编码的候选比特率。本地编解码器可以是任何合适的编解码器,如基于H.264/MPEG-4高级视频编码(AVC)标准或高效率视频编码(HEVC)标准等的编解码器。最小候选比特率可被选择用于对片段进行编码并且可以基于本地视频编解码器和所选择的比特率对片段进行编码。所产生的经编码的比特流可以被发射到接收设备以进行解码并最终呈现给用户。

在一些示例中,可以基于以比例因子修改的源视频的比特率来确定第一候选比特率。例如,源视频可以是基于与源视频相关联的视频编解码器已被压缩的压缩源视频。用于压缩的源视频的视频编解码器可以是任何合适的编解码器,如MPEG-2、H.264/MPEG-4 AVC标准、HEVC标准、音视频标准(AVS)、Windows媒体视频编解码器等。例如,与源视频的压缩相关联的本地视频编解码器和视频编解码器可以不同。可以确定与压缩的源视频相关联的比特率(例如,借助于应用编程接口等),并且可以比例因子修改所确定的比特率以生成第一候选比特率。比例因子可以是基于与压缩源视频和本地解码器相关联的视频编解码器的自适应比例因子。

此外,第二候选比特率可基于使用本地编解码器所编码的片段或之前编码的片段(例如,在使用本地编解码器所编码的源视频中的前一片段)的平均比特率来确定。在一些示例中,之前编码的片段可用于生成后一片段(例如,当前片段)的候选比特率。这样的示例可以提供用于编码和发射源视频的低延迟和基本上实时的编码比特率。在其它示例中,片段本身可以被编码(例如,基于先前的目标比特率(默认的比特率)或者基于其他编码参数),并且可以确定针对片段的候选比特率。在这些示例中,在从这些候选比特率中确定所选择的编码比特率之后,可以基于所选择的比特率(再次)对该片段进行编码。这样的示例可能以在将视频内容发射到接收设备的过程中的潜在延迟问题为代价来提高选择编码比特率的准确度。

在一些示例中,第三个候选比特率可基于针对使用本地编解码器所编码的片段或之前编码的片段(例如,在使用本地编解码器所编码的源视频中的前一片段)的编码比特率预测来确定。编码比特率预测可基于该片段或前一编码片段的编码比特流、所选择的期望平均主观评分(MOS;例如,用户观看质量的度量)、所选的最小和最大比特率边界、以及与接收设备相关联的质量系数(例如,基于接收设备的分辨率等)。编码比特率预测可以提供基于无参考MOS的比特率预测以对片进行编码。如关于第二候选比特率所讨论的,编码比特率预测可以基于对片段自身进行编码或者基于对视频内容的前一片段进行编码。

该片段的所选编码比特率可以被确定为第一、第二和第三候选比特率中的最小值。此外,可以使用本地视频编解码器并基于所选择的编码比特率对片段进行编码。所产生的比特流可以被无线地发射到接收设备,该接收设备可以对比特流进行解码以生成视频帧用于呈现给用户。这种技术可以提供用于发射视频内容的减小的比特率,这可以节省发射设备处的电池寿命。此外,本文讨论的技术可提供具有较低编码比特率和较低所需无线带宽的高质量视频并提高干扰下的WiDi/Miracast性能鲁棒性,从而提高了在视频流传输过程中的用户体验。

图1是根据本公开的至少一些实现方式安排的用于无线地发射视频内容的示例系统100的示意图。如图1所示,系统100可以包括借助于无线通信信道103通信地耦合的发射设备101和接收设备102。在一些示例中,发射设备101可以借助于无线通信信道103将经编码的视频数据发射到接收设备102。接收设备102可接收经编码的视频数据、对其进行解码以生成视频帧等并将经解码的视频呈现给用户。虽然展示的是单个发射设备101和单个接收设备102借助于单个无线通信信道103进行通信,但是在系统100中可以采用任何数量的发射设备、接收设备的、和/或无线通信信道。

在所展示的示例中,发射设备101是平板计算机并且接收设备102是电视机。然而,借助于系统100可以实现合适设备的任何组合。例如,发射设备101可以包括任何合适的设备,如计算机、膝上型计算机、超极本、智能电话、平板计算机等。此外,接收设备102可包括任何合适的设备,如电视机、智能电视机、计算机、膝上型计算机、超级本、智能电话、平板计算机等。在一些示例中,接收设备102可以是机顶盒或数字记录器等。在这种示例中,接收设备102可以不包括显示器,但接收设备102可以耦合到用于呈现视频内容的显示器。在任何情况下,发射设备101和/或接收设备102可以如本文中所用被描述为计算设备。此外,从发射设备101向接收设备102发射的视频内容可以包括任何适当的视频内容,如借助于互联网或局域网等下载到发射设备101的视频或其他内容、保存在发射设备的本地存储器上的视频文件或视频容器或其他视频内容、模拟发射设备101的显示的视频数据或其它图像的流传输(例如,接收设备102可以镜像借助于发射设备101显示的内容)、从发射设备101流传输到接收设备102的照片等。在一些示例中,接收设备102和发射设备101可以将相同的内容呈现给一个或多个用户,并且在其他示例中,它们可呈现不同的内容。

无线通信信道103可以是任何合适的无线链路并且通信可借助于任何合适的(多个)协议或(多个)标准来促进。在一些示例中,无线通信信道103是基于电气与电子工程师协会(IEEE)802.11标准(如802.11a/b/g/n/ac/ad等)的Wi-Fi连接。在其它示例中,无线通信信道103可基于Wi-Fi多媒体(WMM)互操作标准的实现方式。在又进一步的示例中,无线通信信道103可提供基于无线显示(WiDi)技术和/或基于无线屏幕铸造标准(如使用Wi-Fi方向连接的Miracast标准)的实现方式的通信。在实施例中,无线通信信道103是无线局域网络(WLAN)的一部分。

如本文所讨论的,即使在无线通信信道103的带宽不是瓶颈或关注点的情况下,限制将视频内容从发射设备101发射到接收设备102的比特率仍可以是有利的。例如,这样的带宽限制可以保护发射设备101的电池寿命。本文所讨论的技术可以减小传输视频的比特率,同时为系统100的用户提供期望的视频质量和/或体验质量(QoE)。

例如,本文讨论的技术可以评估源视频的内容信息(例如,比特率、分辨率、时间复杂度等),并基于无参考(NR)平均主观评分(MOS)比特率预测工具或模块显示与接收设备102相关联的信息以有差异地针对不同的视频内容减小所需的视频编码比特率同时实现一定的期望视频质量。

图2展示了根据本公开的至少部分实现方式安排的用于对视频内容进行编码以进行无线传输的示例系统200。在一些示例中,系统200可以被实现为发射设备101的一部分。如图2所示,系统200可以包括解码器202、编码器203、编码比特率预测模块204、片段平均比特率确定模块205、基于编码源视频的比特率确定模块206以及比特率选择模块207。如所示,系统200可以(例如,借助于存储器)接收、获取或包含源视频201。还如所示,在一些示例中,系统200可以接收、获取或包含多个源视频,包括源视频201和源视频221。尽管展示了两个源视频201、221,但可以提供任意数量的源视频。如本文进一步讨论的,在一些示例中,可以利用不同的视频编解码器压缩源视频201和源视频221。在此,对源视频的讨论出于示例性目的将使用源视频201;然而,所讨论的技术可以与源视频221等一起使用。源视频201可以包括借助于任何合适的方式获得的用于传输到接收设备102的任何合适的视频内容,如本文所讨论的如借助于互联网下载的、如保存在存储器中的、借助于视频媒体设备等的那些视频内容。如所讨论的,源视频201可以是被压缩的视频内容,使得源视频201借助于视频编解码器被压缩。用于压缩源视频201的视频编解码器可被描述为与源视频相关联的视频编解码器。在各示例中,与源视频相关联的视频编解码器可以基于H.264/MPEG-4 AVC标准、HEVC标准、音视频标准(AVS)、Windows媒体视频编解码器或者任何其他合适的标准。在一些示例中,源视频201可以是视频文件或视频容器等。

如所示,解码器202可接收源视频201或其一部分。解码器202可以基于与源视频相关联的视频解码器对源视频201进行解码并且解码器202可以将经解码的视频内容或视频内容的解码部分传送给编码器203。编码器203可以接收经解码的视频内容或该视频内容的解码部分。编码器203可对经解码的视频内容的片段进行编码,以生成编码片段(ES)208(例如,针对源视频201的片段的编码比特流)。源视频201的片段可以是源视频201的任何合适部分,具有任意数量的帧(如,1至100帧、1至300帧等),或者是源视频201的任何持续时间,如1至3秒等。如所讨论的,编码器203可以基于本地视频编解码器对解码视频内容进行编码(例如,使得可以基于发射设备101与接收设备102之间的本地视频编解码器传输视频内容)。本地视频编解码器可以以任何合适的方式确定,如,发射设备101与接收设备102之间的协商、预定的编解码器、基于标准(例如,WiDi和/或Miracast)的编解码器等等。例如,解码器202可以基于第一视频编解码器(例如,与源视频201相关联的视频编解码器)对源视频201进行解码并且编码器203可以基于第二视频编解码器(例如,本地视频编解码器)对解码视频内容(或其片段)进行编码。以这种方式,解码器202和编码器203可以提供将源视频201从一种压缩格式转码到另一种压缩格式。此外,在一些示例中,编码片段208也可被提供作为比特流216的一部分(例如,作为用于传输至接收设备102的结果比特流的一部分)。

编码比特率预测模块204可以接收编码片段208(例如,源视频201的编码片段的比特流)、最大比特率和最小比特率(最大、最小比特率)209、平均主观评分(MOS)210以及显示数据211。例如,最大比特率和最小比特率209可以通过压缩和/或传输标准或协议预先设定、由系统开发人员预先设定、或由系统200启发式确定等等。最大比特率和最小比特率209可以是提供质量视频传输边界以及传输所用带宽限制的任何合适的比特率。例如,最大比特率可以是10Mbps、15Mbps、20Mbps等,并且最小比特率可以是1Mbps、2Mbps、5Mbps等。

此外,MOS 210可以是任何合适的平均主观评分并且可以通过压缩和/或传输标准或协议预先设定、由系统开发人员预先设定、由系统200启发式确定、或由用户设定等。例如,用户可以基于呈现给用户的用户界面(如,滑动条等)选择主观质量选择(例如,高、中或低质量),其可被译码为MOS。例如,MOS 210可以是3.5、4.0、4.5或5.0等。

显示数据211可以是表示接收设备102的显示器的质量和/或分辨率的任何合适的显示数据。在一些示例中,显示数据211可以是基于接收设备102的显示器的一个或多个显示质量系数。例如,显示信息请求可以借助于无线通信信道103从发射设备101传输至接收设备102。接收设备102可借助于无线通信信道103利用显示信息回复发射设备101,该显示信息包括例如显示器的分辨率、与接收设备102相关联的型号或其他数据等等。在实施例中,接收设备102可以是WiDi槽并且显示信息可以借助于实时流传输协议(RTSP;例如,被设计成用于控制流媒体设备的网络控制协议)来传达。系统200可以接收显示信息并且可以例如使用查找表确定显示数据211。例如,显示数据211可以包括一个或多个接收设备相关的显示质量系数。这种接收设备相关的显示质量系数可以近似例如接收设备102的显示质量。在一些示例中,系统200可以直接从接收设备102接收这种设备相关的显示质量系数(例如,使得不需要本地查找表或类似技术)。

编码比特率预测模块204可以基于编码片段208、最大和最小比特率209、MOS 210和/或显示数据211来确定针对编码片段208或者源视频201的在编码片段208随后的片段的编码比特率预测。生成的编码比特率预测可以被提供给比特率选择模块207作为候选比特率(CBR)212。在一些示例中,系统200的编码比特率预测模块204可以基于源视频201的之前编码的片段生成源视频201当前片段的候选比特率212。在其它示例中,系统200的编码比特率预测模块204可以基于当前片段本身的之前的编码生成源视频201当前片段的候选比特率212。在这样的示例中,当前片段可基于所选择的编码比特率(例如,所选的编码比特率215)而被编码(例如,编码第二时间)。这样的示例可以在传送部分比特流216的过程中以潜在延迟为代价提供更准确的比特率选择。在源视频201的当前片段的候选比特率212基于之前编码的片段的示例中,可以以潜在较不准确的比特率选择为代价来提供改善的延迟。

在任一情况下,编码比特率预测模块204可以基于编码片段208的比特流分析确定候选比特率212,该比特流分析可以提供片段比特流参数,如,例如,编码片段208的每像素平均比特数、编码片段208的平均量化参数、编码片段208的编码帧速率、编码片段208的编码视频高度等。此外,候选比特率212可基于预定的平均主观评分(例如,MOS 210)、预定的最大和最小比特率(例如,最大和最小比特率209)以及与接收设备102相关联的(多个)显示质量系数(例如,显示数据211)。例如,可使用任何合适的技术基于编码片段208来确定时间复杂度。时间复杂度、显示数据和片段比特流参数可被提供给预先训练的比特率预测模型,该模型可以生成候选比特率212。在此关于以下图3讨论候选比特率212的示例确定的细节。

还如图2所示,片段平均比特率确定模块205可接收编码片段208。片段平均比特率确定模块205可以确定编码片段208的平均比特率并且可以将作为候选比特率(CBR)213的该平均比特率提供给比特率选择模块207。在实施例中,候选比特率213是编码片段208中的比特数除以由编码片段208表示的播放时间。在另一个实施例中,候选比特率213(例如,编码片段208的平均比特率)是编码片段208中的比特数除以由编码片段208表示的像素数量。如关于编码比特率预测模块204,可基于编码片段208确定源视频201的下一片段的或编码片段208自身的候选比特率213。

如所示,基于编码源视频的比特率确定模块206可接收源视频201或其一部分。基于编码源视频的比特率确定模块206可基于所接收的编码源视频201确定候选比特率(CBR)214。例如,基于编码源视频的比特率确定模块206可确定编码源视频的比特率并根据比例因子修改所确定的比特率以生成候选比特率214。如所讨论的,可以基于与用于对比特流216进行编码以传输至接收设备102的视频编解码器不同的视频编解码器对编码源视频(例如,源视频201或其一部分)进行编码。在示例中,可以由系统200使用可访问编码视频内容以确定其比特率的应用编程接口来确定编码源视频的比特率。可以比例因子修改所确定的比特率(例如,乘以比例因子)。例如,比例因子可以将确定的比特率增大或减少为确定的候选比特率214。比例因子可以是用于确定候选比特率214的任何合适的比例因子。在一些示例中,比例因子可以是在以下范围内:50%至75%、75%至125%、90%至100%、125%至150%、或175%至225%等。

在一些示例中,比例因子基于与编码源视频相关联的编解码器(例如,之前用于对压缩源视频201进行编码的编解码器)和用于对比特流216进行编码的编解码器(例如,由发射设备101和接收设备102使用的本地编解码器)可以是自适应的。在一些示例中,候选比特率214可以提供对源视频201、221进行编码所需的最小比特率,从而使得本地视频编解码器将产生相比源视频201、221的质量相等的或更好的质量。在一些示例中,比例因子可以基于之前用于对源视频进行编码的编解码器与用于对比特流216进行编码的编解码器之间的差异(例如,能力差异)来确定。例如,如果源视频201已经基于MPEG-2以12Mbps被压缩,那么如果本地编解码器是H.264则候选比特率214可以只需为6Mbps。在这样的示例(例如,MPEG-2源视频编解码器和H.264本地编解码器)中,比例因子可因此为约50%或60%等。可以提供这样的比例因子,因为本地编解码器(在这个示例中的H.264)相比具有相同的编码特征的MPEG-2是更高效的编解码器。此外,如果本地编解码器和源视频编解码器使用相同的编解码器,则候选比特率214仍可以基于例如由编解码器使用的不同特征被修改。例如,编解码器可以使得I帧仅用于存档,I帧和P帧用于实时流传输,或者I帧、P帧和B帧用于高质量等。例如,在H.264中以6Mbps利用B帧(例如,I帧、P帧和B帧)压缩的源视频可能需要约12Mbps的比特率以用于基于本地编解码器在不利用B帧的情况下(例如,利用I帧和P帧或仅I帧)进行编码。在这样的示例中,比例因子可以因此约为200%等。其它组合可以是存在的。使用在此讨论的技术,源视频201的候选比特率(例如,在第一实例中的候选比特率214)与源视频221的候选比特率(例如,在第二个实例中的候选比特率214)可能由此会有所不同。由此,比例因子基于用于压缩源视频(如,源视频201、源视频221等)的视频编解码器可以是自适应的。

如图2所示,比特率选择模块207可以接收候选比特率212、213、214并且比特率选择模块207可以选择所选的编码比特率215来对片段(例如,如所讨论的,与编码片段208或随后的或不同的片段相关联的片段)进行编码。例如,比特率选择模块207可以从候选比特率212、213、214中选择最小的比特率作为选择的编码比特率215。在实施例中,比特率选择模块207可以使用如图2中所展示的开关217选择最小比特率。例如,可以基于候选比特率212、213、214中的最小比特率连接开关217以将该最小比特率发射作为选定的编码比特率215。

编码器203可以接收所选的编码比特率215并且可以基于所选的编码比特率215对经解码的源视频内容进行编码以生成比特流216,该比特流可被提供给接收设备102。如所讨论的,接收设备102可接收比特流216并且接收设备102可解码比特流216以生成视频帧用于呈现给用户。编码器203可以基于所选的编码比特率215对经解码的源视频内容的任何部分进行编码。在实施例中,编码器203可基于所选的编码比特率215对与编码片段208相关联的源视频内容进行编码。在另一个实施例中,编码器203可基于所选的编码比特率215对与源视频201的另一个片段相关联的源视频内容进行编码。例如,基于所选的编码比特率215编码的片段可以是关于编码片段208的下一个片段。在一些实施例中,可以基于所选的编码比特率215对源视频201的所有或剩余部分进行编码。

图3展示了根据本公开的至少部分实现方式安排的用于对视频内容进行编码以进行无线传输的示例系统300。在一些示例中,系统300可以被实现为发射设备101的一部分。如图3所示,系统300可以包括解码器202、编码器203、编码比特率预测模块204、片段平均比特率确定模块205、基于编码源视频的比特率确定模块206、比特率选择模块207、平均主观评分模块301、最大和最小比特率模块302以及显示信息模块303。此外,显示信息模块303可包括显示参数模块304和显示质量系数查找表(LUT)305,编码比特率预测模块可以包括函数建模模块306、比特流分析模块307、时间复杂度模块308和比特率预测模块309,片段平均比特率确定模块205可以包括比特流分析模块310和片段求平均模块311,并且基于编码源视频的比特率确定模块206可以包括源视频比特率模块和比例因子修改模块313。

如所示,解码器202可接收源视频201和/或源视频221或其一个或多个部分,并且解码器202可基于与源视频相关联的视频编解码器解码源视频201并将经解码的视频内容或视频内容的解码部分传送至编码器203。编码器203可以接收经解码的视频内容或该视频内容的解码部分,并且编码器203可以对经解码的视频内容的片段进行编码以生成编码片段(ES)208。与源视频201、源视频221、解码器202、编码器203和编码片段208相关联的详细信息已经关于图2被讨论并且简洁起见将不再重复。

还如所示,平均主观评分模块301可确定、存储和/或传输MOS 210,该MOS 210可以包括如本文所讨论的任何适当的信息。例如,平均主观评分模块301可以(例如,借助于应用编程接口等)为系统开发者和/或用户提供功能以调整MOS 210和/或用于存储当前MOS的存储器。类似地,最大和最小比特率(最大、最小比特率)模块302可确定、存储和/或传输最大和最小比特率(最大BR、最小BR)209,其可以包括如本文所讨论的任何适当的信息。例如,最大和最小比特率模块可以(例如,借助于应用编程接口等)为系统开发者和/或用户提供功能以调整最大和最小比特率209和/或用于存储最大和最小比特率(最大BR、最小BR)209的存储器。

如所示,显示信息模块可以确定和/或生成显示数据(DD)211。例如,显示参数模块304可以从接收设备102获得显示参数或信息(例如,分辨率信息)。在实施例中,接收设备102是WiDi槽并且显示参数可借助于实时流传输协议(RTSP)从接收设备102传达。显示参数可以被传送至显示质量系数LUT 305,该LUT可基于该显示参数确定接收设备相关的系数。例如,系数可以指示与接收设备102的(或与之相关联的)显示相关联的质量。在实施例中,如本文进一步讨论的,质量系数包括供编码比特率预测模块204使用以生成候选比特率212的两个系数。在一些示例中,可以从接收设备102直接接收质量系数,并且在这样的示例中,可以不需要显示质量系数LUT 305。

如所示,编码比特率预测模块204的比特流分析模块307可以接收编码片段208(例如,源视频201的片段的编码比特流)。比特流分析模块307可以确定与编码片段208相关联的片段比特流参数。例如,片段比特流参数可以包括每像素平均比特数、平均量化参数、编码帧速率或编码视频高度。在一些示例中,片段比特流参数可以是帧大小数据、帧类型数据、帧分辨率数据或比特率数据。比特流分析模块307可以将片段比特流参数传送至函数建模模块306和时间复杂度模块308。

时间复杂度模块308可以至少部分地基于接收到的片段比特流参数确定与编码片段208相关联的时间复杂度。时间复杂度模块308可以使用任何合适的一项或多项技术确定时间复杂度。例如,时间复杂度可以基于等式(1),如下:

其中,TC可以是时间复杂度,fTC可以是确定TC的函数,f_参数可以是片段比特流参数,mean(Bitsp)可以每像素平均比特数,SF可以是约40的比例因子,c可以是约0.87的常数,mean(QPp)可以是平均量化参数,fps可以是编码帧速率,并且f_h可以是编码视频高度。尽管是关于视频高度f_h进行描述的,也可以使用与视频或帧大小相关联的其他信息或数据。在各示例中,可以使用视频高度、视频宽度、视频宽高比或其组合。

如所示,时间复杂度可以被传送至函数建模模块306和比特率预测模块309。函数建模模块306可以基于用于预测视频比特率的模型提供内容(例如,借助于片段比特流参数和时间复杂度的源视频)和设备(例如,借助于显示数据211的接收设备102)。例如,该模型可以是预训练的线性和/或非线性的模型。例如,该模型训练可以被提供作为如等式(2)所示的基于视频片段的训练集的参数的非线性拟合和/或作为如等式(3)所示的线性拟合以及基于如等式(4)所示的测试:

vi=nonlinear fit(比特率,MOS),i=4,5

(2)

其中,v可以是用于预测编码比特率的参数或函数建模系数,比特率可以是训练视频片段的比特率,并且MOS可以是训练视频片段的平均主观评分。

其中,a和b可以分别是斜率和对应于vi的y截距,并且TC训练可以是训练集的时间复杂度。

vi_测试=a×TC测试+b

(4)

其中,vi_测试可以是针对输入测试视频的预测vi

在一些示例中,函数建模模块306的训练可以离线(例如,关于源视频201在运行时间之前)执行并且函数建模模块306可以借助于存储器被保存以用于实现。如所示,比特率预测模块306可接收来自函数建模模块306的参数和来自时间复杂度模块308的时间复杂度。比特率预测模块306可以使用任何合适的一项或多项技术基于编码比特率预测确定候选比特率212。在示例中,比特率预测模块306可以基于由等式(5)确定的编码比特率预测确定候选比特率212,如下:

其中,e_比特率可以是编码比特率预测,期望_MOS可以是MOS 210,b_最大和b_最小可以是分别来自最大和最小比特率209的最大和最小比特率,并且b可以是约3.7的常数。

如图3所示且如本文所讨论的,所述编码比特率预测可以被提供给比特率选择模块207作为候选比特率212。

此外,如所示,片段平均比特率确定模块205的比特流分析模块310可以接收编码片段208。比特流分析模块310可确定编码片段208的平均比特率和/或编码片段208的每像素平均比特数。此外,片段求平均模块311可以确定编码片段208的平均比特率。在一些示例中,比特流分析模块307、310可以被单独实现(如所示),并且在其它示例中,它们可一起实现。此外,在一些示例中,片段求平均模块311可以被消除,并且所讨论的求平均可以由比特流分析模块310来提供。

如所讨论的,在一些示例中,候选比特率213可被提供作为编码片段208的平均比特率。在这种示例中,比特流分析模块310或片段求平均模块311可以提供平均比特率(并且如果需要的话可以消除其它模块)。在其它示例中,可以基于由比特流分析模块307和/或比特流分析模块310执行的阈值化(在到达比特率选择模块207之前)消除候选比特率212或候选比特率213之一。例如,可以确定编码片段208的每像素平均比特数。每像素平均比特数可以与阈值进行比较,以判定候选比特率212或候选比特率213是否可以被提供给比特率选择模块207。例如,如果每像素平均比特数大于(或等于)阈值,则候选比特率212可以被提供(并且候选比特率213可以被消除),并且,如果每像素平均比特数小于(或等于)阈值,则候选比特率212可以被提供(并且候选比特率213可以被消除)。在这样的示例中,比特率选择模块207可以针对特定的片段在两个候选比特率(例如,候选比特率214与候选比特率212或候选比特率213之一)之间进行选择,而不是如图3所示的三个比特率。本文进一步关于图4对这种技术进行讨论。

如图3所示,编码源视频比特率确定模块206的源视频比特率模块312可以接收源视频201或其一部分。例如,编码源视频比特率确定模块206可以接收压缩的(例如,编码的)源视频,从而使得源视频基于与源视频201相关联的视频编解码器被压缩(例如,在下载之前、在存储到存储器中时、在采集时等等;并且不同于由编码器203所使用的视频编解码器或者与由编码器203使用的视频编解码器相同但具有实现的不同特征)。源视频比特率模块312可以基于平均比特率等确定压缩源视频的比特率。源视频比特率模块312可以将压缩源视频的所确定的比特率传送至比例因子修改模块313。如本文所讨论的,比例因子修改模块313可以以比例因子修改所确定的比特率。例如,比例因子可以基于用于对压缩源视频进行压缩的编解码器与用于对比特流216进行编码的本地编解码器之间的差异。如所讨论的,比例因子可以由此基于用于对压缩源视频进行压缩的编解码器的质量和/或用于对比特流216进行编码的本地编解码器的质量是自适应的。例如,使用不同编解码器压缩的两个源视频可具有如以比例因子修改模块313确定的不同的比例因子。可以比例因子以任何合适方式修改所确定的比特率。在实施例中,比例因子(在本示例中或正或负)被添加到确定的比特率。在另一个实施例中,比例因子乘以所确定的比特率(例如,所确定的比特率被修改x%,其中,x是比例因子)。

比特率选择模块207可以接收候选比特率212、213、214或者候选比特率214与候选比特率212、213之一(如所讨论的),并且比特率选择模块207可以确定选择的编码比特率215以用于对源视频201的片段进行编码(例如,用于对视频内容的解码片段进行编码,从而使得该片段要么与由编码片段208表示的片段相同要么与由编码片段208表示的片段不同)。例如,比特率选择模块207可以将所接收的候选比特率中的最小比特率选择为选择的编码比特率215。在实施例中,如本文所讨论的,比特率选择模块207可以基于开关215选择最小的比特率。

编码器203可以接收所选的编码比特率215并且可以对源视频201(例如,基于所选的编码比特率215的经解码的视频内容)进行编码以生成比特流216,该比特流可被提供给接收设备102。如所讨论的,可以使用本地视频编解码器对比特流216进行编码。本地视频编解码器可以基于标准、发射设备101与接收设备102之间的协商等来确定。接收设备102可以接收比特流216并解码比特流216,以生成视频帧用于呈现给用户。编码器203可以基于所选的编码比特率215对经解码的视频内容的任何部分进行编码。在实施例中,编码器203可以基于所选的编码比特率215对与编码片段208相关联的视频内容进行编码。在另一个实施例中,编码器203可以基于所选的编码比特率215对与源视频201的另一个片段相关联的视频内容进行编码。例如,基于所选的编码比特率215编码的片段可以是关于编码片段208的下一个片段。在一些实施例中,可以基于所选的编码比特率215对源视频201的所有或剩余部分进行编码。

图4是流程图,展示了根据本公开的至少部分实现方式安排的用于对视频内容进行编码以进行无线传输的示例过程400。如图4所展示的,过程400可以包括一个或多个操作401-415。过程400可以形成视频编码过程的至少一部分。通过非限制性示例,针对由如在此讨论的设备101或800或者系统200、300、600或700采取的视频内容,过程400可以形成视频编码过程的至少一部分。

在一些示例中,即使在无线信道容量不是瓶颈或关注点时仍可以实现过程400。此外,过程400可以是基于无参考(NR)比特率预测器(例如,编码比特率预测模块204)。在一些示例中,当每像素片段平均比特数低于特定阈值时(例如,如关于判定操作409所讨论的),编码比特率预测可以被跳过或旁路。在其它示例中,如关于候选比特率212和213所讨论,编码比特率预测与片段平均比特率可以被提供用于选择。在这样的示例中,当旁路会发生时(从而使得仅候选比特率213将被提供),候选比特率213可能会(或必须)小于候选212,从而使得旁路或确定两者都提供相同的结果。片段平均比特率的这种旁路和/或确定可以在以下情形中提供改进的比特率预测:编码比特率预测可能如例如在评估由具有极少比特数的静态帧(例如,黑帧和白帧)组成的片段的过程中具有限制。

此外,如所讨论的,基于编码源视频的比特率确定可以是基于以比例因子修改的压缩源视频的比特率进行的。当源视频201是具有相对较低的视频质量的互联网视频内容或者具有相对较高的视频质量的本地视频内容(例如,与H.264 AVC或HEVC质量相比而言的低或高质量)时,这种技术可能是有利的。针对这两种情况,可实现的视频质量比特流216(例如,用于传输的编码视频)主要是由源视频201的比特率和分辨率确定的。如果源视频201具有高比特率以及比期望的MOS更高的MOS(例如,MOS 210),则所讨论的编码NR MOS比特率预测可用于显著减小编码比特率。然而,如果源视频201具有低或非常低的比特率,那么使用高编码器比特率(例如,所选的编码比特率215)可能是浪费的并将不会提高在接收设备102处的视频呈现的MOS。在这种情形下,如所讨论的,比例因子(例如,以比例因子修改源视频的比特率)可以用于确定编码比特率(例如,所选的编码比特率215)。例如,如所讨论的,比例因子(例如,x)可基于源和本地编解码器性能差异被自适应地调整。

返回到图4,过程400可以从操作401“设置用于本地编码的最小和最大比特率”开始,其中,可以如本文所讨论的设置或确定最小比特率和最大比特率。例如,可以借助于系统300的最大和最小比特率模块302来设置或确定最大和最小比特率209。

过程400可以在操作402“设置用于本地编码的期望的MOS”处继续,其中,可以如本文所讨论设置或确定所期望的平均主观评分(MOS)。例如,可以借助于平均主观评分模块301来设置或确定平均主观评分210。

过程400可以在操作403“获取接收显示信息”处继续,其中,可以如本文所讨论的获取或接收接收器(例如,接收设备102)的显示信息。例如,显示信息模块303的显示参数模块304可获取或接收接收设备102的显示信息(例如,显示分辨率信息)。

过程400可以在操作404“确定设备相关系数”处继续,其中,可以如本文所讨论的确定设备相关系数,如显示质量系数。例如,包括显示质量系数的显示数据211可以借助于显示信息模块303的显示器质量系数查找表305来确定。

过程400可以在操作405“获取本地编码视频片段的比特流”处继续,其中,可以如本文中所讨论的获取和/或确定本地编码视频片段的比特流。例如,如所讨论的,解码器202可以(基于与压缩源视频相关联的视频编解码器)对源视频201的片段进行解码并且编码器203可以基于本地视频编解码器对该片段进行编码。

过程400可以在操作406“执行比特流分析”处继续,其中,可以如本文中所讨论的基于与视频的片段相关联的比特流执行比特流分析。例如,编码比特率预测模块204的比特流分析模块307可以基于编码片段208执行比特流分析,以生成包括以下各项的片段比特流参数:片段的每像素平均比特数、片段的平均量化参数、片段的编码帧速率或者片段的编码视频高度。

过程400可以在操作407“收集源视频内容的比特率”处继续,其中,可以如本文所讨论的收集或确定源视频内容的比特率。例如,基于编码源视频的比特率确定模块206的源视频比特率模块312可以接收源视频201(例如,压缩的源视频)或其一部分,并且源视频比特率模块312可以确定使用与源视频的压缩相关联的视频编解码器所编码的源视频的比特率。

过程400可以在操作408“以比例因子调整以确定CBR”处继续,其中,可以如本文所讨论的以比例因子来调整压缩源视频的比特率。例如,基于编码源视频的比特率确定模块206的比例因子修改模块313可以根据比例因子修改比特率以生成候选比特率214。如所讨论的,比例因子基于与源视频的压缩相关联的视频编解码器可以是自适应的。

过程400可以从操作406继续,如在判定操作409“每像素片段平均比特数<阈值?”处所讨论的,其中,片段的每像素平均比特数可以与阈值进行比较。如所示,如果该片段的每像素平均比特数小于(或者在一些实现方式中小于或等于)阈值,则过程400可以在操作410处继续,并且如果该片段的每像素平均比特数大于或等于(或者在一些实现方式中大于)阈值,则过程400可以在操作413处继续。

过程400可以由此在操作410“确定时间复杂度”处继续,其中,可以如本文所讨论的确定片段的时间复杂度。例如,编码比特率预测模块204的时间复杂度模块308可以基于等式(1)等确定时间复杂度。

过程400可以在操作411“确定函数建模系数”处继续,其中,可以基于借助于操作404确定的设备相关系数和借助于操作410确定的时间复杂度来确定函数建模系数。例如,函数建模系数可以提供预训练的比特率预测模型的系数,该模型可以根据片段的内容(例如,时间复杂度)和接收器显示器的质量(例如,设备相关的质量系数)生成比特率预测。

处理400可以在操作412“确定编码比特率预测作为CBR”处继续,其中,可以基于借助于操作411确定的函数建模系数、借助于操作401确定的最小和最大比特率以及借助于操作402确定的期望的MOS来确定编码比特率预测。例如,编码比特率预测模块204的比特率预测模块309可以基于等式(5)等确定候选比特率212。

如所讨论的,在每像素片段平均比特数小于阈值(或者小于或等于阈值)的示例中,过程400可以从判定操作409继续至操作413“使用片段平均比特数为CBR”,其中,片段平均比特数(或者片段平均比特率)可被用作候选比特率。如所讨论的,在一些示例中,判定操作409和操作413可以提供操作410-112的旁路或跳过。例如,当每像素片段平均比特数小于阈值(或者小于或等于阈值)时,可能发生这样的旁路。在这些示例中,所讨论的编码比特率的预测模型可能如在低或非常低的比特率的情况(例如,静态黑白帧的片段等)不会提供有用的结果。例如,片段求平均模块311或比特流分析模块310可以提供候选比特率213作为片段的平均比特数。

过程400可以在操作414“确定候选比特率中的最小比特率”处继续中,其中,可确定候选比特率中的最小比特率。例如,比特率选择模块207可以确定候选比特率中的最小比特率。如所讨论的,在过程400的示例中,操作414可以用于选择由操作408提供的候选比特率以及由操作412提供的候选比特率或由操作413提供的候选比特率(取决于在判定操作409处的判定)中的最小比特率。这样的旁通实现可以例如提供较少的计算和更快的处理时间。

在如本文所讨论的其他实施例中,判定操作409可以被旁路,并且由操作412提供的候选比特率以及由操作413提供的候选比特率(连同由操作408提供的候选比特率)都可以被提供用于在操作414处确定候选比特率中的最小比特率。

过程400可以在操作415“设置编码比特率和编码片段”处继续,其中,编码比特率可以被设置并且片段可以被编码。例如,比特率选择模块207可以设置编码器203的所选编码比特率215以对(经解码的)源视频201的片段进行编码。如所讨论的,在一些示例中,所选择的比特率可用于对目前正被评估的片段的下一个片段进行编码,并且在其他示例中,所选择的比特率可以用于对当前片段自身进行当前编码。

可以针对源视频的任意数量的片段和/或针对任意数量的源视频将过程400的操作串行地或并行地重复任意次数。如所讨论的,各种源视频可能已使用不同的视频编解码器被压缩,这可能影响借助于操作408实现的比例因子。

图5是流程图,展示了根据本公开的至少部分实现方式安排的用于对视频内容进行编码以进行无线传输的示例过程500。如图5所展示的,过程500可以包括一个或多个操作501-505。过程500可以形成视频编码过程的至少一部分。通过非限制性示例,过程500可以形成由如在此讨论的设备101或800或者系统200、300、600或700采取的视频编码过程的至少一部分。此外,在此将参考图6的系统600描述过程500。

图6是根据本公开的至少一些实现方式安排的示例系统600的示意图。例如,系统600可以是设备101的视频编码系统等。如图6中所示,系统600可以包括一个或多个成像设备602、天线602、包括逻辑电路630的一个或多个处理单元620、一个或多个处理器603、一个或多个存储器存储604以及显示设备605。此外,逻辑电路630可包括解码器202、解码器202、编码比特流预测模块205、片段平均比特率确定模块205、基于编码源视频的比特率确定模块206以及比特率选择模块207。如所展示的,(多个)成像设备601、天线602、(多个)处理单元620、逻辑电路630、解码器202、解码器202、(多个)处理器603、(多个)存储器存储604、和/或显示设备605可以能够与彼此进行通信。

如所示,在一些示例中,系统600可以包括天线602。例如,天线602可被配置成用于发射或接收视频数据的编码比特流。另外,在一些示例中,系统600可以包括显示设备605。显示设备605可以被配置成用于呈现视频数据,如解码源视频201。如所示,在一些示例中,可借助于(多个)处理单元620实现逻辑电路630。(多个)处理单元620可以包括应用专用集成电路(ASIC)逻辑、(多个)图形处理器、(多个)通用处理器等。系统600还可以包括可选的(多个)处理器603,处理器可以类似地包括应用专用集成电路(ASIC)逻辑、(多个)图形处理器、(多个)通用处理器等。在一些示例中,逻辑电路630可借助于硬件、视频编码专用硬件等来实现,并且(多个)处理器603可以借助于例如多核中央处理单元(CPU)实现通用软件、操作系统等。此外,(多个)存储器存储604可以是任意类型的存储器,如易失性存储器(例如,静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)等)或非易失性存储器(例如,闪存等)等等。在非限制性示例中,(多个)存储器存储604可以由缓存存储器实现。在一些示例中,逻辑电路630可访问(多个)存储器存储604(例如,用于实现视频帧缓冲器)。在其它示例中,逻辑电路630和/或(多个)处理单元620可以包括用于实现视频帧缓冲器等的存储器存储(例如,高速缓存等)。例如,(多个)存储器存储604可存储任何视频数据,如源视频201(例如,压缩的源视频),解码的源视频,编码片段208,比特流216,候选比特率212、213、214、最大和最小比特率209,MOS 210,显示数据211,选择的编码比特率215或者如本文所讨论的被利用或生成的任何其他数据。

在一些示例中,借助于逻辑电路630实现的编码器100可以包括帧缓冲器(例如,借助于(多个)处理单元620或者(多个)存储器存储604)以及图形处理单元(例如,借助于(多个)处理单元620)。例如,图形处理单元可以通信地耦合到帧缓冲器。图形处理单元可以包括如借助于逻辑电路630实现的编码器100和/或如本文所讨论的各模块。例如,如所示,图形处理单元可以包括解码器202、解码器202、编码比特流预测模块205、片段平均比特率确定模块205、基于编码源视频的比特率确定模块206以及比特率选择模块207。所展示的模块可以被实现以执行在此讨论的任何操作。

在一些示例中,系统2000的天线602可以被配置成用于发射视频数据的编码比特流,如比特流216。如所讨论的,编码比特流可以包括使用本地编解码器(如H.264 AVC编解码器或HEVC编解码器等)编码的视频数据。

返回到图5的讨论,过程500可以开始于操作501,“将用于使用第一视频编解码器对源视频的片段进行编码的第一候选比特率确定为以比例因子修改的使用第二视频编解码器所编码的该源视频的比特率”,其中,用于使用第一视频编解码器对源视频的片段进行编码的第一候选比特率可以被确定为使得该第一候选比特率是以比例因子修改的使用第二视频编解码器所编码的该源视频的比特率。例如,如借助于逻辑电路630实现的基于编码源视频的比特率确定模块206可以接收压缩的源视频或其一部分,从而使得使用与源视频的压缩相关联的编解码器(例如,第二视频编解码器)执行压缩并且基于编码源视频的比特率确定模块206可以确定压缩源视频的比特率并且如本文所讨论的以比例因子对其进行修改以生成第一候选比特率。可以使用本地视频编解码器(例如,第一视频编解码器)确定对片段进行编码的第一比特率。例如,比例因子可以基于与源视频的压缩相关联的视频编解码器的质量,从而使得针对视频编解码器之间的较大质量差异,可以使用较大的比例因子。

例如,候选比特率可被确定用于使用第一视频编解码器对第二源视频的第二片段进行编码,从而使得候选比特率包括以第二比例因子修改的使用第三视频编解码器所编码的第二源视频的比特率。在实施例中,如果第二视频编解码器和第三视频编解码器不同,则所确定的比例因子也不同。例如,当其中第一视频编解码器与第二视频解码器之间的第一质量差异大于第一视频编解码器与第三视频编解码器之间的第二质量差异时,使用第二视频编解码器所编码的片段的比例因子大于使用第三视频编解码器所编码的片段的比例因子。

处理可以在操作502“将用于使用该第一视频编解码器对该源视频的该片段进行编码的第二候选比特率确定为使用该第一视频编解码器所编码的该源视频的该片段或前一片段的平均比特率”处继续,其中,用于使用该第一视频编解码器对该源视频的该片段进行编码的第二候选比特率可以被确定为使得第二候选比特率是使用该第一视频编解码器所编码的该源视频的该片段或使用该第一视频编解码器所编码的该源视频的前一片段中的至少一者的平均比特率。在实施例中,前一片段被使用并且该前一片段紧接在源视频的该片段之前。例如,如借助于逻辑电路630实现的片段平均比特率确定模块205可以接收使用本地编解码器所编码(例如,第一视频编解码器)的片段,并且如借助于逻辑电路630实现的片段平均比特率确定模块205可以基于所接收的编码片段将平均比特率确定为第二候选比特率。

处理可以在操作503“将用于使用该第一视频编解码器对该源视频的该片段进行编码的第三候选比特率确定为针对使用该第一视频编解码器所编码的该片段或前一片段的编码比特率预测”处继续,其中,用于使用该第一视频编解码器对该源视频的片段进行编码的第三候选比特率可以被确定为使得该第三候选比特率是针对使用该第一视频编解码器所编码的该片段或使用该第一视频编解码器所编码的前一片段中的至少一者的编码比特率预测。例如,如借助于逻辑电路630实现的片段编码比特率预测模块204可以接收使用本地编解码器所编码(例如,第一视频编解码器)的片段,并且如借助于逻辑电路630实现的编码比特率预测模块204可以基于用于确定第三候选比特率的编码片段和/或其他数据将比特率预测确定为编码比特率预测。例如,如本文所讨论,该编码比特率预测至少部分地基于预定平均主观评分、预定最大比特率、预定最小比特率或与无线传输的接收设备相关联的显示质量系数之一。

在一些示例中,确定编码比特率预测可以包括对使用第一视频编解码器所编码的该片段或使用第一视频编解码器所编码的前一片段的比特流进行分析以确定片段比特流参数,基于片段比特流参数确定时间复杂度,以及基于时间复杂度和预训练的比特率预测模型生成比特率预测。在实施例中,片段比特流参数包括片段的每像素平均比特数、片段的平均量化参数、片段的编码帧速率或者片段的编码视频高度中的至少一者。在一些示例中,如本文所讨论的,比特率预测进一步基于预定平均主观评分、预定最大比特率、预定最小比特率以及与无线传输的接收设备相关联的显示质量系数。例如,与接收设备相关联的显示质量系数可以是基于从接收设备接收的分辨率信息使用查找表确定的。

处理可以在操作504“将该片段的编码比特率选择为该第一、第二和第三候选比特率中的最小值”处继续,其中,该源视频的该片段的编码比特率可以被选择为第一、第二和第三候选比特率中的最小值。例如,如借助于逻辑电路630实现的比特率选择模块207可以接收第一、第二和第三候选比特率并将它们中的最小比特率选择为选择的编码比特率。如所讨论的,在一些示例中,如借助于逻辑电路630实现的比特率选择模块207可以接收三个候选比特率。在其它示例中,第二或第三候选比特率可以被旁路,并且,借助于逻辑电路630实现的比特率选择模块207可以选择第一候选比特率以及或者第二或者第三候选比特率中的最小比特率用于提供选择的编码比特率。

处理可以在操作505“基于所选择的编码比特率使用该第一视频编解码器对该片段进行编码”处继续,其中,可以使用该第一视频编解码器并且基于所选择的编码比特率对该源视频的该片段进行编码。例如,如借助于逻辑电路630实现的解码器202可以基于所选择的编码比特率对源视频的片段进行编码。

此外,该编码片段的比特流可以被提供给接收设备,该接收设备可以对该比特流进行解码并将视频呈现给用户。例如,如借助于逻辑电路630实现的解码器202可以将编码的比特流(例如,基于所选择的编码比特率编码的)提供至天线602以用于无线传输到接收设备。

可以针对源视频的任意数量的片段和/或针对任意数量的源视频将过程500的操作串行地或并行地重复任意次数。

在此描述的系统的各种部件可以用软件、固件、和/或硬件和/或其任何组合来实现。例如,成像设备101或800或系统200、300、600或700的各部件可以至少部分地由如可以在计算系统(如,例如,智能电话)中找到的计算片上系统(SoC)的硬件来提供。本领域技术人员可以认识到,在此描述的系统可以包括尚未在相应附图中描绘的附加部件。例如,在此讨论的系统可以包括为了清楚起见尚未被描绘的附加部件,如比特流复用器或解复用器模块等。

虽然在此讨论的示例过程的实现方式可以包括按所展示的顺序采取示出的所有操作,但是本公开并不限于这个方面,并且在各个示例中,此处的示例过程的实现方式可以仅包括所示操作的子集、以与所展示的顺序不同的顺序执行的操作、或附加操作。

另外,在此讨论的操作中的任何一个或多个操作可以响应于由一个或多个计算机程序产品提供的指令而被采取。这类程序产品可以包括提供指令的信号承载介质,当指令由例如处理器执行时可以提供在此描述的功能。计算机程序产品可以以一个或多个机器可读介质的任何形式被提供。因此,例如,包括一个或多个图形处理单元或处理器核的处理器可以响应于由一个或多个机器可读介质传达给处理器的程序代码和/或指令或指令集而采取此处的示例过程的块中的一个或多个块。通常,机器可读介质可以以程序代码和/或指令或指令集的形式传达软件,这些程序编码和指令集可以使在此描述的设备和/或系统中的任意一者实现成像设备101或800或系统200、300、600或700的至少多个部分、或者如在此讨论的任何其他模块或部件。

如在此描述的任何实现方式中所使用的,术语“模块”指被配置成用于提供在此所描述的功能的软件逻辑、固件逻辑、硬件逻辑和/或电路的任何组合。软件可以具体化为软件包、代码和/或指令集或指令,并且如在此描述的任何实现方式中所使用的,“硬件”可以例如单独地或以任何组合包括硬连线电路、可编程电路、状态机电路、固定功能电路、执行单元电路和/或存储由可编程电路执行的指令的固件。这些模块可以统一地或单独地具体化为形成例如,集成电路(IC)、片上系统(SoC)等的较大系统的一部分的电路。

图7是根据本公开的至少一些实现方式安排的示例系统700的示意图。在各实现方式中,尽管系统700不限于此上下文,但系统700可以是媒体系统。例如,系统700可以并入个人计算机(PC)、膝上计算机、超级膝上计算机、平板计算机、触摸板、便携式计算机、手持式计算机、掌上型计算机、个人数字助理(PDA)、蜂窝电话、组合式蜂窝电话/PDA、电视、智能设备(例如,智能电话、智能平板计算机或智能电视)、移动互联网设备(MID)、消息设备、数据通信设备、相机(例如,自动对焦相机、超级变焦相机、数码单镜头反光(DSLR)相机)等。

在各实现方式中,系统700包括耦合至显示器720的平台702。平台702可以从内容设备(如(多个)内容服务设备730或(多个)内容传递设备740或者其他类似内容源)接收内容。包括一个或多个导航特征的导航控制器750可以用于例如与平台702和/或显示器720进行交互。以下更详细地描述这些部件中的每一个部件。

在各实现方式中,平台702可以包括芯片组705、处理器710、存储器712、天线713、存储设备714、图形子系统715、应用716和/或无线电718的任意组合。芯片组705可以在处理器710、存储器712、存储设备714、图形子系统715、应用716和/或无线电718之中提供相互通信。例如,芯片组705可以包括能够提供与存储设备714的交互通信的存储适配器(未示出)。

处理器710可以被实现为复杂指令集计算机(CISC)或精简指令集计算机(RISC)处理器、x86指令集兼容处理器、多核处理器、或任何其他微处理器或中央处理器单元(CPU)。在各实现方式中,处理器710可以是(多个)双核处理器、(多个)双核移动处理器等。

存储器712可以被实现为易失性存储设备,如但不限于随机存取存储器(RAM)、动态随机存取存储器(DRAM)、或静态RAM(SRAM)。

存储设备714可以被实现为非易失性存储设备,如但不限于:磁盘驱动器、光盘驱动器、磁带驱动器、内部存储设备、附连存储设备、闪存、电池备用SDRAM(异步DRAM)和/或网络可访问存储设备。在各实现方式中,存储设备714可以包括用于当例如包括多个硬盘驱动器时增加对有价值的数字媒体的存储性能增强型保护的技术。

图形子系统715可以执行对如用于显示的静态或视频图像的处理。例如,图形子系统715可以是图形处理单元(GPU)或视觉处理单元(VPU)。可以使用模拟或数字接口将图形子系统715和显示720通信地耦合。例如,接口可以是高清晰度多媒体接口、显示端口、无线HDMI和/或符合无线HD的技术中的任何一个。图形子系统715可以集成到处理器电路710或芯片组705中。在一些实现方式中,图形子系统715可以是通信地耦合至芯片组705的独立设备。

在此描述的图形和/或视频处理技术可以用各种硬件架构实现。例如,图形和/或视频功能可以集成到芯片组中。替代性地,可以使用离散图形和/或视频处理器。如又另一种实现方式,图形和/或视频功能可以由通用处理器(包括多核处理器)来提供。在进一步的实施例中,所述功能可以在消费电子设备中实现。

无线电718可以包括能够使用各种适当的无线通信技术发射并接收信号的一个或多个无线电。这些技术可以涉及跨一个或多个无线网络的通信。示例无线网络包括(但不限于)无线局域网(WLAN)、无线个人局域网(WPAN)、无线城域网(WMAN)、蜂窝网和卫星网。在跨这种网络进行通信时,无线电718可以根据任何版本中的一个或多个可适用标准进行操作。

在各实现方式中,显示器720可以包括任何电视机类型的监测器或显示器。显示器720可以包括例如,计算机显示屏、触摸屏显示器、视频监视器、类似电视机的设备和/或电视机。

显示器720可以是数字的和/或模拟的。在各实现方式中,显示器720可以是全息显示器。而且,显示器720可以是可以接收视觉投影的透明表面。这样的投影可以传递各种形式的信息、图像、和/或物体。例如,这样的投影可以是移动增强现实(MAR)应用的视觉覆盖。在一个或多个软件应用716的控制下,平台702可以在显示720上显示用户界面722。

在各实现方式中,(多个)内容服务设备730可以由任何国家的、国际的和/或独立的服务托管,并因此例如借助于互联网可接入平台702。(多个)内容服务设备730可以耦合至平台702和/或至显示器720。平台702和/或内容服务设备730可以耦合到网络760以将媒体信息去往和来自网络760地通信(例如发送和/或接收)。内容传递设备740也可以耦合到平台702和/或显示器720。

在各实现方式中,(多个)内容服务设备730可以包括有线电视盒、个人计算机、网络、电话、能够传递数字信息和/或内容的支持互联网的设备或电器、以及能够在内容提供方与平台702和/或显示器720之间借助于网络760或直接地单向或双向传达内容的任何其他类似设备。将认识到,内容可以借助于网络760被单向地和/或双向地传达到系统700中的部件中的任何一个部件和内容提供方且从系统中的部件中的任何一个部件和内容提供方被传达。内容的示例可以包括任何媒体信息,包括例如视频、音乐、医疗和游戏信息等。

(多个)内容服务设备730可以接收如包含媒体信息、数字信息和/或其他内容的有线电视节目的内容。内容提供方的示例可以包括任何有线或卫星电视或无线电或互联网内容提供方。所提供的示例不旨在以任何方式限制根据本公开的实现方式。

在各实现方式中,平台702可以从具有一个或多个导航特征的导航控制器750中接收控制信号。控制器750的导航特征可以用于例如与用户界面722进行交互。在各实施例中,导航控制器750可以是定点设备,所述定点设备可以是允许用户输入空间(例如,连续的和多维的)数据到计算机的计算机硬件部件(特别是人机接口设备)。如图形用户界面(GUI)、和电视机以及监视器的许多系统允许用户使用物理姿势来控制计算机或电视机并向计算机或电视机提供数据。

可以通过指针、光标、聚焦环或在显示器上显示的其他视觉指示器的移动在显示器(例如,显示器720)上复制控制器750的导航特征的移动。例如,在软件应用716的控制下,位于导航控制器750上的导航特征可以例如被映射至用户界面722上显示的虚拟导航特征。在各实施例中,控制器750可以不是独立部件但可以集成在平台702和/或显示器720内。然而,本公开不限于在此示出或描述的元素或内容。

在各实现方式中,驱动器(未示出)可以包括使用户能够通过例如在初始引导后启动的按钮的触摸立刻打开和关闭类似电视机的平台702的技术。当平台被“关闭”时,程序逻辑可以允许平台702将内容流传输到媒体适配器或其他(多个)内容服务设备730或(多个)内容传递设备740。此外,芯片组705可以包括支持例如5.1环绕声音频和/或高清7.1环绕声音频的硬件和/或软件。驱动器可以包括用于集成图形平台的图形驱动器。在各实施例中,图形驱动器可以包括外围部件互连(PCI)快速图形卡。

在各实现方式中,系统700中示出的部件中的任何一个或多个部件可以是集成的。例如,平台702和(多个)内容服务设备730可以是集成的,或者平台702和(多个)内容传递设备740可以是集成的,或者平台702、(多个)内容服务设备730和(多个)内容传递设备740可以例如是集成的。在各种实施例中,平台702和显示器720可以是集成的单元。例如,显示720和内容服务设备730可以是集成的,或者显示720和内容传递设备740可以是集成的。这些示例并不意在限制本公开。

在各实施例中,系统700可以被实现为无线系统、有线系统、或二者的组合。当实现为无线系统时,系统700可以包括适合于通过如一个或多个天线、发送器、接收器、收发器、放大器、过滤器、控制逻辑等的无线共享介质通信的部件和接口。无线共享介质的示例可以包括无线频谱部分,例如RF频谱等。当被实现为有线系统时,系统700可以包括适用于通过有线通信介质(如输入/输出(I/O)适配器、利用相应有线通信介质连接I/O适配器的物理连接器、网络接口卡(NIC)、光盘控制器、视频控制器、音频控制器等)进行通信的部件和接口。有线通信介质的示例可以包括导线、电缆、金属引线、印刷电路板(PCB)、背板、交换光纤、半导体材料、双绞线、同轴电缆、光纤等。

平台702可以建立一个或多个逻辑或物理信道以传达信息。所述信息可以包括媒体信息和控制信息。媒体信息可以指表示针对用户的内容的任何数据。内容的示例可以包括例如,来自语音对话、视频会议、流式视频、电子邮件消息、语音邮件消息、字母数字符号、图形、图像、视频、文字等的数据。来自语音对话的数据可以是例如,语音信息、静音期、背景噪音、舒适噪音、声调等。控制信息可以指表示针对自动化系统的命令、指令或控制字的任何数据。例如,控制信息可以用于通过系统路由媒体信息、或者指示节点以预定方式处理所述媒体信息。然而,各实施例并不限于图7中示出或描述的元素或上下文。

如上所述,系统700可以用变化的物理风格或形成因子来体现。图8展示了可以用其具体化系统800的小形成因子设备800的实现方式。在各实施例中,例如,设备800可以被实现为具有无线能力的移动计算设备。例如,移动计算设备可以指具有处理系统和移动电源或电源(如一个或多个电池)的任何设备。

如上所述,移动计算设备的示例可以包括个人计算机(PC)、膝上计算机、超级膝上计算机、平板计算机、触摸板、便携式计算机、手持式计算机、掌上型计算机、个人数字助理(PDA)、蜂窝电话、组合式蜂窝电话/PDA、电视、智能设备(例如,智能电话、智能平板计算机或智能电视)、移动互联网设备(MID)、消息设备、数据通信设备、相机(例如,自动对焦相机、超级变焦相机、数码单镜头反光(DSLR)相机)等。

移动计算设备的示例还可以包括被安排以由人穿戴的计算机,如手腕计算机、手指计算机、戒指计算机、眼镜计算机、皮带夹计算机、臂带计算机、鞋计算机、服装计算机、以及其他可穿戴计算机。在各实施例中,例如移动计算设备可以实现为能够执行计算机应用程序、以及语音通信和/或数据通信的智能电话。举例来讲,尽管一些实施例可以用被实现为智能电话的移动计算设备来描述,但可以理解的是,其他实施例也可以使用其他无线移动计算设备来实现。实施例并不限于本上下文中。

如图8所示,设备800可以包括:壳体802、显示器804、输入/输出(I/O)设备806、和天线808。设备800还可以包括导航特征812。显示器804可以包括适合于移动计算设备的用于显示信息的任何适当的显示单元。I/O设备806可以包括用于将信息输入移动计算设备中的任何适当的I/O设备。I/O设备806的示例可以包括:字母数字键盘、数字小键盘、触摸板、输入键、按钮、开关、摇杆式开关、麦克风、扬声器、语音识别设备和软件等。信息也可以通过麦克风(未示出)输入到设备800中。这种信息可以由语音识别设备(未示出)数字化。实施例并不限于本上下文中。

可以使用硬件元件、软件元件、或两者的组合来实现各实施例。硬件元件的示例可以包括:处理器、微处理器、电路、电路元件(例如,晶体管、电阻器、电容器、电感器等等)、集成电路、专用集成电路(ASIC)、可编程逻辑器件(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、逻辑门、寄存器、半导体器件、芯片、微芯片、芯片组等等。软件的示例可以包括:软件部件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码片段、计算机代码片段、字、值、符号、或其任意组合。判定是否使用硬件元件和/或软件元件来实现实施例可以根据任意数量的因子而变化,如预期的计算速率、功率电平、耐热性、处理周期预算、输入数据速率、输出数据速率、存储器资源、数据总线速度以及其他设计或性能约束。

可以由机器可读介质上所存储的表属性指令实现至少一个实施例的一个或多个方面,所述指令代表处理器内的各种逻辑,当被机器读取时所述指令使所述机器制作用于执行在此所描述的技术的逻辑。此类表示(称为“IP核”)可以被存储在有形的机器可读介质上并提供给各顾客或制造设施以加载至实际制作所述逻辑或处理器的制作机器中。

虽然已经参照各实现方式描述了在此阐述的某些特征,但并不打算在限制性意义上解释本说明书。因此,本公开涉及的对本领域技术人员而言明显的对在此描述的实现方式以及其他实现方式的各种修改被视为是在本公开的精神和范围内。

下面的示例涉及进一步的实施例。

在一个或多个第一实施例中,一种用于对视频内容进行编码以进行无线传输的计算机实现的方法,包括:确定用于使用第一视频编解码器对源视频的片段进行编码的第一、第二和第三候选比特率,其中,所述第一候选比特率包括以比例因子修改的使用第二视频编解码器所编码的所述源视频的比特率,其中,所述第二候选比特率包括使用所述第一视频编解码器所编码的所述源视频的所述片段或使用所述第一视频编解码器所编码的所述源视频的前一片段中的至少一者的平均比特率,并且其中,所述第三候选比特率包括针对使用所述第一视频编解码器所编码的所述片段或使用所述第一视频编解码器所编码的所述前一片段中的至少一者的编码比特率预测;将所述源视频的所述片段的编码比特率选择为所述第一、第二和第三候选比特率中的最小值;以及基于所述选择的编码比特率使用所述第一视频编解码器对所述源视频的所述片段进行编码。

进一步针对所述第一实施例,所述方法进一步包括确定用于使用所述第一视频编解码器对第二源视频的第二片段进行编码的第四候选比特率,其中,所述第四候选比特率包括以第二比例因子修改的使用第三视频编解码器所编码的所述第二源视频的比特率,并且其中,所述比例因子不同于所述第二比例因子。

进一步针对所述第一实施例,所述第一视频编解码器是与所述无线传输相关联的本地视频编解码器,并且其中,所述第二视频解码器与所述源视频的压缩相关联。

进一步针对所述第一实施例,所述编码比特率预测至少部分地基于预定平均主观评分、预定最大比特率、预定最小比特率或与所述无线传输的接收设备相关联的显示质量系数之一。

进一步针对所述第一实施例,基于所述编码比特率预测确定所述第三候选比特率包括:对使用所述第一视频编解码器所编码的所述片段或使用所述第一视频编解码器所编码的所述前一片段的比特流进行分析,以确定片段比特流参数;基于所述片段比特流参数确定时间复杂度;以及基于所述时间复杂度和预训练比特率预测模型生成比特率预测。

进一步针对所述第一实施例,基于所述编码比特率预测确定所述第三候选比特率包括:对使用所述第一视频编解码器所编码的所述片段或使用所述第一视频编解码器所编码的所述前一片段的比特流进行分析,以确定片段比特流参数;基于所述片段比特流参数确定时间复杂度;以及基于所述时间复杂度和预训练比特率预测模型生成比特率预测,其中,所述片段比特流参数包括所述片段的每像素平均比特数、所述片段的平均量化参数、所述片段的编码帧速率或者所述片段的编码视频高度中的至少一者。

进一步针对所述第一实施例,基于所述编码比特率预测确定所述第三候选比特率包括:对使用所述第一视频编解码器所编码的所述片段或使用所述第一视频编解码器所编码的所述前一片段的比特流进行分析,以确定片段比特流参数;基于所述片段比特流参数确定时间复杂度;以及基于所述时间复杂度和预训练比特率预测模型生成比特率预测,其中,生成所述比特率预测进一步基于预定平均主观评分、预定最大比特率、预定最小比特率以及与所述无线传输的接收设备相关联的显示质量系数。

进一步针对所述第一实施例,基于所述编码比特率预测确定所述第三候选比特率包括:对使用所述第一视频编解码器所编码的所述片段或使用所述第一视频编解码器所编码的所述前一片段的比特流进行分析,以确定片段比特流参数;基于所述片段比特流参数确定时间复杂度;以及基于所述时间复杂度和预训练比特率预测模型生成比特率预测,其中,生成所述比特率预测进一步基于预定平均主观评分、预定最大比特率、预定最小比特率以及与所述无线传输的接收设备相关联的显示质量系数,并且其中,与所述接收设备相关联的所述显示质量系数是基于从所述接收设备接收的分辨率信息使用查找表确定的。

进一步针对所述第一实施例,所述第二候选比特率和所述第三候选比特率是基于所述源视频的所述前一片段确定的,并且其中,所述前一片段紧接在所述源视频的所述片段之前。

进一针对所述第一实施例,所述方法进一步包括:将借助于对所述片段进行所述编码生成的结果比特流无线传输至接收设备。

在一个或一个第二实施例中,一种用于对视频内容进行编码以进行无线传输的系统,所述系统包括:存储器,所述存储器被配置成用于存储视频数据;以及处理单元,所述处理单元耦合到所述存储器,其中,所述处理单元包括:基于编码源视频的比特率确定电路,所述电路被配置成用于确定用于基于第一视频编解码器对源视频的片段进行编码的第一候选比特率,其中,所述第一候选比特率包括以比例因子修改的使用第二视频编解码器所编码的所述源视频的比特率;片段平均比特率确定电路,所述电路被配置成用于确定用于基于所述第一视频编解码器对所述源视频的所述片段进行编码的第二候选比特率,其中,所述第二候选比特率包括使用所述第一视频编解码器所编码的所述源视频的所述片段或使用所述第一视频编解码器所编码的所述源视频的前一片段中的至少一者的平均比特率;编码比特率预测电路,所述电路被配置成用于确定用于基于所述第一视频编解码器对所述源视频的所述片段进行编码的第三候选比特率,其中,所述第三候选比特率包括针对使用所述第一视频编解码器所编码的所述片段或使用所述第一视频编解码器所编码的所述前一片段中的至少一者的编码比特率预测;比特率选择电路,所述电路被配置成用于将所述源视频的所述片段的编码比特率选择为所述第一、第二和第三候选比特率中的最小值;以及编码器电路,所述电路被配置成用于根据所述选择的编码比特率基于所述第一视频编解码器对所述源视频的所述片段进行编码。

进一步针对所述第二实施例,所述基于编码源视频的比特率确定电路进一步被配置成用于确定用于使用所述第一视频编解码器对第二源视频的第二片段进行编码的第四候选比特率,其中,所述第四候选比特率包括以第二比例因子修改的使用第三视频编解码器所编码的所述第二源视频的比特率,并且其中,所述比例因子不同于所述第二比例因子。

进一步针对所述第二实施例,所述第一视频编解码器是与所述无线传输相关联的本地视频编解码器,并且其中,所述第二视频解码器与所述源视频的压缩相关联。

进一步针对所述第二实施例,所述编码比特率预测至少部分地基于预定平均主观评分、预定最大比特率、预定最小比特率或与所述无线传输的接收设备相关联的显示质量系数之一。

进一步针对所述第二实施例,所述编码比特率预测电路被配置成用于确定所述第三候选比特率包括所述编码比特率预测电路被配置成用于:对使用所述第一视频编解码器所编码的所述片段或使用所述第一视频编解码器所编码的所述前一片段的比特流进行分析,以确定片段比特流参数;基于所述片段比特流参数确定时间复杂度;以及基于所述时间复杂度和预训练比特率预测模型生成比特率预测。

进一步针对所述第二实施例,所述编码比特率预测电路被配置成用于确定所述第三候选比特率包括所述编码比特率预测电路被配置成用于:对使用所述第一视频编解码器所编码的所述片段或使用所述第一视频编解码器所编码的所述前一片段的比特流进行分析,以确定片段比特流参数;基于所述片段比特流参数确定时间复杂度;以及基于所述时间复杂度和预训练比特率预测模型生成比特率预测,其中,所述片段比特流参数包括所述片段的每像素平均比特数、所述片段的平均量化参数、所述片段的编码帧速率或者所述片段的编码视频高度中的至少一者。

进一步针对所述第二实施例,所述编码比特率预测电路被配置成用于确定所述第三候选比特率包括所述编码比特率预测电路被配置成用于:对使用所述第一视频编解码器所编码的所述片段或使用所述第一视频编解码器所编码的所述前一片段的比特流进行分析,以确定片段比特流参数;基于所述片段比特流参数确定时间复杂度;以及基于所述时间复杂度和预训练比特率预测模型生成比特率预测,其中,生成所述比特率预测进一步基于预定平均主观评分、预定最大比特率、预定最小比特率以及与所述无线传输的接收设备相关联的显示质量系数。

进一步针对所述第二实施例,所述编码比特率预测电路被配置成用于确定所述第三候选比特率包括所述编码比特率预测电路被配置成用于:对使用所述第一视频编解码器所编码的所述片段或使用所述第一视频编解码器所编码的所述前一片段的比特流进行分析,以确定片段比特流参数;基于所述片段比特流参数确定时间复杂度;以及基于所述时间复杂度和预训练比特率预测模型生成比特率预测,其中,生成所述比特率预测进一步基于预定平均主观评分、预定最大比特率、预定最小比特率以及与所述无线传输的接收设备相关联的显示质量系数,所述系统进一步包括查找表,所述查找表包括与所述接收的分辨率信息相关联的所述显示质量系数。

进一步针对所述第二实施例,所述第二候选比特率和所述第三候选比特率是基于所述源视频的所述前一片段确定的,并且其中,所述前一片段紧接在所述源视频的所述片段之前。

进一步针对所述第二实施例,所述第二候选比特率和所述第三候选比特率是基于所述源视频的所述前一片段,并且其中,所述前一片段紧接在所述源视频的所述片段之前。

进一步针对所述第二实施例,所述系统包括计算机、膝上型计算机、超极本、智能电话或平板计算机中的至少一部分。

在一个或多个第三实施例中,一种用于对视频内容进行编码以进行无线传输的系统,所述系统包括:存储器,所述存储器被配置成用于存储视频数据;以及处理单元,所述处理单元耦合到所述存储器,其中,所述处理单元包括:用于确定用于使用第一视频编解码器对源视频的片段进行编码的第一、第二和第三候选比特率的装置,其中,所述第一候选比特率包括以比例因子修改的使用第二视频编解码器所编码的所述源视频的比特率,其中,所述第二候选比特率包括使用所述第一视频编解码器所编码的所述源视频的所述片段或使用所述第一视频编解码器所编码的所述源视频的前一片段中的至少一者的平均比特率,并且其中,所述第三候选比特率包括针对使用所述第一视频编解码器所编码的所述片段或使用所述第一视频编解码器所编码的所述前一片段中的至少一者的编码比特率预测;用于将所述源视频的所述片段的编码比特率选择为所述第一、第二和第三候选比特率中的最小值的装置;以及用于基于所述选择的编码比特率使用所述第一视频编解码器对所述源视频的所述片段进行编码的装置。

进一步针对所述第三实施例,所述处理单元进一步包括:用于确定用于使用所述第一视频编解码器对第二源视频的第二片段进行编码的第四候选比特率的装置,其中,所述第四候选比特率包括以第二比例因子修改的使用第三视频编解码器所编码的所述第二源视频的比特率,并且其中,所述比例因子不同于所述第二比例因子。

进一步针对所述第三实施例,用于确定所述第一、所述第二、和所述第三候选比特率的所述装置包括:用于对使用所述第一视频编解码器所编码的所述片段或使用所述第一视频编解码器所编码的所述前一片段的比特流进行分析以确定片段比特流参数的装置;用于基于所述片段比特流参数确定时间复杂度的装置;以及基于所述时间复杂度和预训练比特率预测模型生成比特率预测作为所述第三候选比特率的装置。

进一步针对所述第三实施例,用于确定所述第一、所述第二、和所述第三候选比特率的所述装置包括:用于对使用所述第一视频编解码器所编码的所述片段或使用所述第一视频编解码器所编码的所述前一片段的比特流进行分析以确定片段比特流参数的装置;用于基于所述片段比特流参数确定时间复杂度的装置;以及基于所述时间复杂度和预训练比特率预测模型生成比特率预测作为所述第三候选比特率的装置,其中,所述片段比特流参数包括所述片段的每像素平均比特数、所述片段的平均量化参数、所述片段的编码帧速率或者所述片段的编码视频高度中的至少一者。

在一个或多个第四实施例中,一种机器可读介质,包括多条指令,所述指令响应于在计算设备上被执行而使所述计算设备通过以下方式对视频内容进行编码以进行无线传输:确定用于使用第一视频编解码器对源视频的片段进行编码的第一、第二和第三候选比特率,其中,所述第一候选比特率包括以比例因子修改的使用第二视频编解码器所编码的所述源视频的比特率,其中,所述第二候选比特率包括使用所述第一视频编解码器所编码的所述源视频的所述片段或使用所述第一视频编解码器所编码的所述源视频的前一片段中的至少一者的平均比特率,并且其中,所述第三候选比特率包括针对使用所述第一视频编解码器所编码的所述片段或使用所述第一视频编解码器所编码的所述前一片段中的至少一者的编码比特率预测;将所述源视频的所述片段的编码比特率选择为所述第一、第二和第三候选比特率中的最小值;以及基于所述选择的编码比特率使用所述第一视频编解码器对所述源视频的所述片段进行编码。

进一步针对所述第四实施例,所述机器可读介质包括另外的指令,所述指令使所述计算设备通过以下方式对视频内容进行编码以进行无线传输:确定用于使用所述第一视频编解码器对第二源视频的第二片段进行编码的第四候选比特率,其中,所述第四候选比特率包括以第二比例因子修改的使用第三视频编解码器所编码的所述第二源视频的比特率,并且其中,所述比例因子不同于所述第二比例因子。

进一步针对所述第四实施例,所述编码比特率预测至少部分地基于预定平均主观评分、预定最大比特率、预定最小比特率或与所述无线传输的接收设备相关联的显示质量系数之一。

进一步针对所述第四实施例,基于所述编码比特率预测确定所述第三候选比特率包括:对使用所述第一视频编解码器所编码的所述片段或使用所述第一视频编解码器所编码的所述前一片段的比特流进行分析,以确定片段比特流参数;基于所述片段比特流参数确定时间复杂度;以及基于所述时间复杂度和预训练比特率预测模型生成比特率预测。

进一步针对所述第四实施例,基于所述编码比特率预测确定所述第三候选比特率包括:对使用所述第一视频编解码器所编码的所述片段或使用所述第一视频编解码器所编码的所述前一片段的比特流进行分析,以确定片段比特流参数;基于所述片段比特流参数确定时间复杂度;以及基于所述时间复杂度和预训练比特率预测模型生成比特率预测,其中,所述片段比特流参数包括所述片段的每像素平均比特数、所述片段的平均量化参数、所述片段的编码帧速率或者所述片段的编码视频高度中的至少一者。

进一步针对所述第四实施例,基于所述编码比特率预测确定所述第三候选比特率包括:对使用所述第一视频编解码器所编码的所述片段或使用所述第一视频编解码器所编码的所述前一片段的比特流进行分析,以确定片段比特流参数;基于所述片段比特流参数确定时间复杂度;以及基于所述时间复杂度和预训练比特率预测模型生成比特率预测,其中,生成所述比特率预测进一步基于预定平均主观评分、预定最大比特率、预定最小比特率以及与所述无线传输的接收设备相关联的显示质量系数。

在一个或多个第五实施例中,至少一种机器可读介质可以包括多条指令,所述指令响应于在计算设备上被执行而使所述计算设备执行根据以上实施例中的任一项所述的方法。

在一个或多个第六实施例中,一种装置可以包括:用于执行根据以上实施例中的任一项所述的方法的装置。

将认识到,这些实施例不局限于如此描述的这些实施例,而是可以在不背离所附权利要求书的范围的情况下通过修改和变更来实践。例如,以上实施例可以包括特征的特定组合。然而,以上实施例并不限于这个方面,并且在各实现方式中,以上实施例可以包括仅采取这类特征的子集、采取这类特征的不同顺序、采取这类特征的不同组合、和/或采取除了明确例举的那些特征之外的附加特征。因此,这些实施例的范围应当参考所附权利要求书、连同这样的权利要求书有权获得的等效物的全部范围来确定。

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