用于在编码期间优化比特率和分辨率的技术的制作方法

文档序号:13099332阅读:248来源:国知局
用于在编码期间优化比特率和分辨率的技术的制作方法与工艺

相关申请交叉引用

本申请要求于2015年3月30日递交的序列号为14/673,621的美国专利申请的权益,其通过引用合并于此。

本发明的实施例一般涉及计算机科学,并且更具体地涉及用于在编码期间优化比特率和分辨率的技术。



背景技术:

有效且准确地编码源数据对于视频内容的实时递送是必不可少的。在操作中,在端点机器处接收到编码的数据之后,对编码的数据进行解码和查看或进一步处理。为了增加压缩率和/或减小编码的数据的大小,许多编码处理利用消除选定信息的有损数据压缩技术,通常仅能够进行源数据的近似重建。值得注意的是,随着编码器消除信息,编码的数据的分辨率降低,从而近似重建具有观看者所预期和期望的视觉质量的可能性也降低。

在操作中,编码器通常被配置为实现固定的比特率阶梯(ladder),其在编码/解码处理过程中消耗的资源(例如,处理时间、带宽、存储等)和视觉质量之间进行权衡。比特率阶梯中的每个“梯级(rung)”表示不同的比特率和分辨率。一般而言,给定可用的比特率,编码器基于比特率阶梯选择编码比特率和分辨率,随后以确定的比特率和分辨率生成编码的数据。

在实践中,调整比特率阶梯以生成具有“典型”源数据所需的质量水平的编码的数据。然而,在源数据与“典型”源数据明显不同的情况下,由比特率阶梯表示的权衡可能不合适。例如,如果比特率阶梯被设计为优化针对简单的卡通片的权衡,并且源数据是详细的动作电影,那么比特率阶梯在编码期间施加的权衡可导致难以接受的差视觉质量。相反,如果比特率阶梯被设计为优化针对详细的动作电影的权衡,并且源数据是简单的卡通片,那么比特率阶梯在编码期间施加的权衡可能会显着增加诸如存储和带宽使用之类的资源负担,而不会明显地提高视觉质量。

如上所述,本领域中需要的是用于在编码源数据时选择比特率和分辨率的更有效的技术。



技术实现要素:

本发明的一个实施例提出了一种用于选择用于编码源数据的比特率阶梯的计算机实现的方法。该方法包括:针对量化参数选择一组参数值;针对每个参数值,对编码器进行配置以在将量化参数保持在该参数值的情况下编码源数据来生成一组编码的数据;针对每组编码的数据,确定视频质量度量的值和相应的比特率;导出视频质量度量和相应比特率之间的关系;基于该关系来确定使得视频质量度量等于预定阈值的成组(bucketing)比特率;并且基于该成组比特率来选择用于编码源数据的比特率阶梯。

所公开的比特率阶梯选择技术的一个优点在于:这些技术使得能够在对源数据进行编码时选择复杂度调整的比特率和分辨率。值得注意的是,由于所公开的技术定制了比特率阶梯以反映源数据的复杂度,所以与不考虑源数据的复杂度而实现恒定比特率阶梯的传统的技术相比,编码质量和编码资源之间的权衡得以优化。

附图说明

为了能够以更详细的方式理解本发明的上述特征,可以通过参考实施例(其中一些在附图中示出)来提供对上面简要总结的本发明的更具体的描述。然而应当注意,附图仅示出了本发明的典型实施例,因此不应被视为限制了本发明的范围,因为本发明可以承认其它同等有效的实施例。

图1是被配置为实现本发明的一个或多个方面的系统的概念图;

图2是示出根据本发明的一个实施例的图1的编码比特率阶梯选择器的框图;

图3是根据本发明的一个实施例的由图2的编码比特率阶梯选择器实现的复杂度组(complexitybucket)和比特率阶梯的概念图;

图4是根据本发明的一个实施例的由图2的复杂度分析器构建的简单源的峰值信噪比(psnr)曲线的概念图;

图5是根据本发明的一个实施例的由图2的复杂度分析器构建的复杂源的峰值信噪比(psnr)曲线的概念图;以及

图6是根据本发明的一个实施例的用于在编码视频源数据时选择和实现比特率阶梯的方法步骤的流程图。

具体实施方式

在下面的描述中,阐述了许多具体细节以提供对本发明的更透彻的理解。然而,可以在没有这些具体细节中的一个或多个细节的情况下实践本发明对于本领域技术人员是显而易见的。

系统概述

图1是被配置为实现本发明的一个或多个方面的系统100的概念图。如图所示,系统100包括连接到能够传输输入数据和/或显示视频的各种设备的虚拟私有云(即,封装的共享资源、软件、数据等)102。这样的设备包括但不限于台式计算机102、智能电话104、和膝上型计算机106。在替代的实施例中,系统100可以包括任意组合的任何数量和/或类型的输入、输出、和/或输入/输出设备。

虚拟私有云(vpc)102包括但不限于任何数量和类型的计算实例110。vpc102从输入设备(例如,膝上型计算机106)接收输入用户信息,一个或多个计算机实例110对用户信息进行操作,并且vpc102将经处理的信息发送给用户。vpc102通过任意数量的设备(例如,常规阴极射线管、液晶显示器、发光二极管等)的显示功能将输出信息传送给用户。

在替代的实施例中,vpc102可以被任何类型的云计算环境(比如,公共云或混合云)替代。在其它实施例中,系统100可以包括代替vpc102的任何分布式计算机系统。在其它实施例中,系统100不包括vpc102,替代地,系统100包括单一处理单元或多处理单元。

如针对计算实例1100所示,每个计算实例110包括中央处理单元(cpu)112、图形处理单元(gpu)114和存储器116。在操作中,cpu112是计算实例110的主处理器,控制和协调计算实例110中所包括的其它组件的操作。具体地,cpu122发出控制gpu144的操作的命令。gpu144包含针对图形和视频处理进行优化的电路,包括例如视频输出电路。在各种实施例中,gpu114可以与计算实例110的一个或多个其它元件集成。存储器116存储内容(例如,软件应用和数据),以供计算实例110的cpu112和gpu114使用。

一般而言,vpc102中所包括的计算实例110被配置为实现一个或多个应用。更具体地,vpc102中所包括的计算实例110被配置为对诸如视频文件之类的源数据105进行编码。如图所示,计算实例1100被配置为源检查器110,并且计算实例1101-110n被配置为编码器140。在替代的实施例中,源检查器110可以包括更多的计算实例110,并且编码器140可以仅包括单个计算实例110。

源检查器110接收源数据105并执行任意数量的预编码操作,包括配置编码器140。例如,在一些实施例中,编码器140是并行块编码器。在这样的实施例中,源检查器110在将源块(sourcechunk)路由到计算并行块编码器中所包括的实例140之前将源分解成多个源块。一般而言,编码器140包括能够对编码操作(例如,压缩算法)进行定制的多种模式和设置。具体地,编码器140实现(但不限于)恒定比特率模式和恒定质量编码模式。在恒定比特率模式中,编码器140尝试在整个编码过程中保持目标比特率。如果编码器140检测到编码的比特率大于目标比特率,则编码器140降低编码的数据145的质量。如果编码器140检测到编码的比特率小于目标比特率,则编码器140提升编码的数据145的质量。相较之下,在恒定质量编码模式中,编码器140尝试在整个编码过程中保持恒定的质量。编码器140测量编码的数据145的质量,并且改变定义将包括在编码的数据145中的信号细节量的量化参数(qp)来将编码质量维持在目标质量。替代地,编码器140在整个编码过程中将qp设置为恒定值。

如本领域技术人员将认识到的,编码器140的配置显着影响所需的资源(例如,带宽和存储)以及编码的数据145的质量。在不浪费不同类型的源数据105所需的资源的情况下,配置编码器140以优化编码的数据145从而满足可接受的感知视觉质量是困难的。诸如利用恒定比特率阶梯和以目标比特率进行编码的方法之类的常规方法优化了某些类型的源数据105的质量/资源权衡,但对其它类型的源数据105生成差的结果。

为此,源检查器110包括编码比特率阶梯选择器130。在操作中,编码比特率阶梯选择器130利用编码器140来估计源数据105的复杂度,然后将源数据105分配给复杂度组132。随后,编码比特率阶梯选择器130将与所选择的复杂度组132相关联的比特率阶梯134标识为源调谐的比特率阶梯135。以这种方式,编码比特率阶梯选择器130使质量/资源权衡能得以优化以反映源数据105的复杂度。

一般来说,编码比特率阶梯选择器130可以包括任何数量的复杂度组132,其中每个复杂度组132代表源数据105的不同复杂度范围。例如,在一些实施例中,“简单”复杂度组132代表复杂度的最低范围,例如,基本卡通片的源数据105。每个复杂度组132都与比特率阶梯134中特定的比特率阶梯相关联,该特定的比特率阶梯被定制以优化对具有复杂度组132所表示的复杂度的源数据105的编码权衡。

编码比特率阶梯选择器130可以以技术上可行的方式实现复杂度组132和比特率阶梯134。在一些实施例中,编码比特率阶梯选择器130包括初始化单元,该初始化单元在处理包括源数据105在内的任何源数据之前建立复杂度组132和比特率阶梯134。在其它实施例中,初始化单元不被包括在编码比特率阶梯选择器130中,而是被包括在系统100中的单元。在其它实施例中,初始化单元不被包括在系统100中。

在一个实施例中,初始化单元提供手动评估的编码质量反馈信息以生成优化的复杂度组132和比特率阶梯134。首先,初始化单元接收“典型”比特率阶梯。该初始化单元随后分析跨典型比特率阶梯中所包括的比特率的各种测试数据(张成(span)源数据105的预期复杂度范围)。所得到的编码的测试数据张成阶梯的梯级和测试数据。

在生成编码的测试数据之后,初始化单元评估每个编码的测试数据的质量。更具体地,初始化单元将泰克图像质量分析仪(pqa)工具应用于编码的测试数据。pqa工具为“与主观人类视觉评估紧密相关的”编码的测试数据分配图像质量等级(pqr)得分。初始化单元随后绘制比特率与pqr得分质量图,其中质量是pqr得分。基于pqr图,选择优化的复杂度组132和比特率阶梯134,从而跨源数据105的预期复杂度在资源和质量之间生成可接受的权衡。除其它之外,可以创建优化的复杂度组132和比特率阶梯134以满足以下目的:

·在给定相同比特率的情况下通过优化分辨率来提高视频质量。

·节省存储和带宽。对于简单的源,高比特率流可能是不必要的(没有明显的质量增益),因此浪费存储和带宽。

·以更高的比特率流为代价,为复杂的源实现更好的质量。对于对应于复杂的测试数据的复杂度组132,可以添加另外的比特率以实现可接受的质量。

可以以技术上可行的方式(例如,手动评估)基于pqr图来生成复杂度组132和比特率阶梯134。在替代的实施例中,可以用任何质量度量代替pqr得分。一般来说,可以以任何评估跨各种复杂度和比特率的测试数据的技术上可行的方式来生成复杂度组132和比特率阶梯134。

在初始化单元完成之后,所得到的复杂度组132和比特率阶梯134被合并到编码比特率阶梯选择器130中或者传送到编码比特率阶梯选择器130。在各种实施例中,复杂度组132和比特率阶梯134可以通过本领域已知的任何通信方法传输到系统100中。

估计源复杂度

图2是示出根据本发明的一个实施例的图1的编码比特率阶梯选择器130的框图。编码比特率阶梯选择器130接收源数据105,估计源数据105的复杂度,并从比特率阶梯134中选择相应的源调谐的比特率阶梯135。作为标识代表针对源数据105的最佳资源/质量权衡的比特率阶梯134的一部分,编码比特率阶梯选择器130利用编码器140和复杂度组132。

如图所示,编码比特率阶梯选择器130包括但不限于抽样提取器210、复杂度分析器220和成组单元260。样本提取器210在接收到源数据105后,将源数据105划分为四个等长的段。对于每个段,样本提取器210选择以该段的中点为中心的一分钟样本215。以这种方式,样本编码器标识在整个源数据105中均匀分布的四个一分钟样本215。样本215一起作为源数据105的代理。因为样本215包括比源数据105少的信息,所以评估样本215的复杂度所需的时间小于评估源数据105的复杂度所需的时间。

在替代的实施例中,样本提取器210可以将源数据105划分为任何数量的段,并且以任何生成源数据105的代表性代理的方式从这些段中提取样本。此外,样本提取器210可以被配置为以任何方式(例如,满足最大处理时间的约束)生成任何数量和长度的样本215。在其它实施例中,省略了样本提取器210,并且源数据105被作为单个全长样本215进行处理。

复杂度分析器220接收四个样本215,并且配置编码器140跨四个不同qp225以1080p的分辨率对四个样本215执行固定qp编码。在操作中,复杂度分析器220将编码器140配置为执行十六个编码任务233,从而生成十六个恒定qp编码235。qp225的值被实验和/或启发式地确定和审查,以提供跨qp225的范围的良好覆盖,预期这些qp225可有效地减少资源使用,而不会对任何数量的复杂度产生不可接受的质量降级。在替代的实施例中,复杂度分析器220可以定制编码器140以跨任何数量的qp225和任何数量的样本215以任何组合来执行任何数量的编码任务233。此外,复杂度分析器220可以针对任何数量的分辨率和任何分辨率的值执行固定qp编码。

为了提高系统100的复杂度分析处理的准确性,复杂度分析器220利用作为源数据105的编码处理的一部分被包括在内的编码器140。然而,在替代的实施例中,复杂度分析器220可以配置任何可用数量和类型的编码器以生成恒定qp编码235。

对于每个恒定qp编码235,复杂度分析器220随后基于均方误差值确定峰值信噪比(psnr)(它是客观质量度量)并计算比特率。在某些实施例中,复杂度分析器220配置编码器140以测量恒定qp编码235的psnr值。在替代的实施例中,复杂度分析器220使用psnr测量工具(其可以是或可以不是复杂度分析器220的一部分)来测量每个恒定qp编码235的psnr值。

复杂度分析器220以任何技术上可行的方式确定每个恒定qp编码235的比特率。在一些实施例中,复杂度分析器220对日志文件(在编码处理期间由编码器140生成)执行读取操作以识别比特率。在其它实施例中,复杂度分析器220通过将恒定qp编码235的大小(即,文件大小)除以恒定qp编码235的持续时间(即,帧的数目除以每秒的帧数)来计算比特率。

在获得psnr值和相应的比特率之后,复杂度分析器220将psnr值和相应的比特率相关联。在一些实施例中,在执行关联操作之前,复杂度分析器220对于每个qp255的psnr值和/或相应的比特率进行平均。更具体地,对于qp2550,复杂度分析器220跨在qp2550处的恒定qp编码235的编码期间针对四个样本115获得的四个psnr值和四个比特率进行平均。

如图所示,复杂度分析器220生成反映所确定的关联的psnr图255。在操作中,复杂度分析器220绘制针对恒定qp编码235的psnr值与比特率图,然后执行曲线拟合操作以生成曲线等式。在替代的实施例中,复杂度分析器220基于与恒定qp编码235相关联的统计量来生成包括psnr变量和比特率变量的等式,而不是psnr图255。一般说来,本发明的实施例可以采用任何技术上可行的技术和/或替代psnr的任何质量度量,来确定恒定qp编码255的质量和比特率之间的估计关系。

分配源调谐的比特率阶梯

成组单元260评估psnr图255连同复杂度组132和比特率阶梯134以生成源调谐比特率阶梯135。更具体地,成组单元260基于psnr图255来确定复杂度成组比特率。复杂度成组比特率是使得psnr图255的psnr值等于预定的低失真阈值的比特率。因此,复杂度成组比特率是使得编码的数据145相对于源数据105的失真与预定的低失真阈值匹配的估计比特率。可以使用与复杂度组132和比特率阶梯134一致的各种启发式和实验技术中的任何一种来分配预定的低失真阈值。

一般说来,成组单元260可以以任何技术上可行的方式来确定复杂度成组比特率。例如,成组单元260可以标识psnr图形255的曲线与对应于预定低失真阈值的常数psnr值的线之间的交点。在替代的实施例中,成组单元260可以将psnr/比特率等式的psnr变量设置为预定的低失真阈值,任何针对比特率变量的值求解psnr/比特率等式。

随后,成组单元260将复杂度成组比特率与复杂度组132的比特率范围进行比较,并选择包含在内的复杂度组132。随后,成组单元260将源调谐比特率阶梯135设置为对应于所选择的复杂度组132的比特率阶梯134。以这种方式,源调谐比特率阶梯135基于源105的估计复杂度而变化。有利地,不同于依赖于单一比特率阶梯的常规技术,该分类过程优化跨源105的不同复杂度的资源/质量权衡。

图3是根据本发明的一个实施例的由图2的编码比特率阶梯选择器130实现的复杂度组132和比特率阶梯134的概念图。如图所示,复杂度组132包括基于等于41分贝(db)的psnr值的低相关阈值处的比特率的三种不同分类。如本领域技术人员将认识到的,如果psnr值大于40db,则与源数据105相比,编码的数据145通常被认为是非常低的失真。替代的实施例可以包括任何数量的分类和任何低相关阈值。

基于psnr图255,成组单元260确定复杂度成组比特率(r)——对应于41db的psnr值的曲线的比特率值。如图所示,复杂度组132包括低复杂度组1321、中等复杂度组1322和高复杂度组1323。如果复杂度成组比特率小于1750千比特每秒(kbps),则成组单元260将源数据135分配到低复杂度组1321。如果复杂度成组比特率在1750kbps和4300kbps之间,则成组单元260将源数据135分配到中等复杂度组1322。如果复杂度成组比特率至少为4300kbps,那么成组单元260将源数据135分配到高复杂度组1323。

如图所示,复杂度组132中的每一个都与比特率阶梯134中不同的一个相关联。比特率/分辨率对限定每个比特率阶梯134的梯级。另外,每个梯级包括一个简档,该简档指定编码器140在编码处理中采用的算法的复杂度。每个梯级的值和梯级的数量针对每个复杂度组132进行定制。复杂度组132和比特率阶梯134一起被设计来优化资源和质量提升之间的权衡。例如,对于低复杂度的源,以约3000kbps的比特率实现最大可察觉的视觉质量。因为议较高比特率进行编码浪费资源而不会明显提高视觉质量,所以低复杂度比特率阶梯1341的最高梯级为3000kbps,因此编码器140以最大比特率3000kbps生成编码的数据145。

图4是根据本发明的一个实施例的由图2的复杂度分析器220构建的简单源400的峰值信噪比(psnr)曲线的概念图。如图所示,复杂度成组比特率410(即,该曲线在等于41db的psnr值的低相关阈值处的比特率)为600kbps。更具体地,水平虚线描绘了psnr值等于41db的恒定线。该水平虚线在复杂度成组比特率410处与简单源的psnr曲线400相交,显示为“x”。从复杂度成组比特率410垂直向下(沿垂直虚线)的轨迹示出了复杂度成组比特率410与比特率轴在600kbps处相交。

返回参考图3,基于600kbps的比特率,成组单元260将源数据105分配给低复杂度组1321,并将源调谐比特率阶梯135设置为相应的低复杂度比特率阶梯1341。值得注意的是,实现比特率阶梯1341确保最高编码分辨率和比特率分别为1080p和3000kbps(低复杂度比特率阶梯1341的最高梯级)。有利地,由于较高的编码分辨率和比特率(例如,中等复杂度比特率阶梯1341的1080p分辨率和4300kbps比特率梯级)对于简单源数据105不提供额外的质量增益,所以限制编码分辨率和比特率以在不影响质量的情况下节省资源。

图5是根据本发明的一个实施例的由图2的复杂度分析器构成的复杂源的峰值信噪比(psnr)曲线的概念图。如图所示,复杂度成组比特率410(即,该曲线在等于41db的psnr值的低相关阈值处的比特率)为6000kbps。更具体地,水平虚线描绘了psnr值等于41db的恒定线。该水平虚线在复杂度成组比特率410处与复杂源500的psnr曲线相交,显示为“x”。从复杂度成组比特率410垂直向下(沿垂直虚线)的轨迹示出了复杂度成组比特率410与比特率轴在6000kbps处相交。

返回参考图3,基于6000kbps的比特率,成组单元260将源数据105分配给高复杂度组1323,并将源调谐比特率阶梯135设置为相应的高复杂度比特率阶梯1343。值得注意的是,实现比特率阶梯1343配置编码器140以1080p的最大分辨率和7500mbps的最大比特率对源数据105进行编码。因为源数据105是相对复杂的,所以这样的权衡允许使用可用的资源实现显著的质量提升。相较之下,如果源调谐的比特率阶梯135是中等复杂度比特率阶梯1342,则编码比特率将不必要地被限制在5800mbps。

图6是根据本发明的一个实施例的用于在编码视频源数据时选择和实现比特率阶梯的方法步骤的流程图。虽然参考图1-5的系统描述了这些方法步骤,但是本领域技术人员将理解,被配置为以任何顺序实现这些方法步骤的任何系统都落入本发明的范围内。仅为了讨论的目的,在图6的描述中假设低失真阈值、qp225、比特率阶梯134和复杂度组132是以任何技术上可行的方式预定的。

如图所示,方法600开始于步骤604,其中编码比特率阶梯选择器130接收源数据105,并且样本提取器210将源数据105分割成n个段,其中n是任意正整数。在步骤606,对于n个段中的每个段,样本提取器210选择以该段的中点为中心的、固定长度的样本215。有利地,所得到的n个样本215用作源数据105的代理,通过限制被评估以对源数据105的复杂度进行分类的数据的总量而减少了分析时间。

复杂度分析器220接收样本215,然后配置编码器140来跨m个预定的恒定qp225以固定的分辨率执行对样本215的固定qp编码。在步骤608,复杂度分析器220确定(n*m)个恒定qp编码235中的每个qp编码的psnr值。在一些实施例中,复杂度分析器220配置编码器140以测量恒定qp编码235的psnr值。一般说来,本发明的实施例可以用任何质量度量代替psnr,并且随后的测量和计算被相应地修改。

在步骤610,复杂度分析器220确定每个恒定qp编码235的对应比特率值。复杂度分析器220以任何技术上可行的方式确定每个恒定qp编码235的比特率。在一些实施例中,复杂度分析器220通过将恒定qp编码235的大小(即,文件大小)除以恒定qp编码235的持续时间(即,帧的数目除以每秒的帧数)来计算比特率。

在步骤614,复杂度分析器220生成包括与psnr值和相应比特率相关的最佳拟合曲线的psnr图255。在替代实施例中,复杂度分析器220不生成psnr图255而是基于与恒定qp编码235相关联的统计量生成包括psnr变量和比特率变量的等式。一般说来,本发明的实施例可以采用任何技术上可行的技术来确定恒定qp编码255的质量和比特率之间的估计关系。

在步骤616,成组单元260评估psnr图255,并确定复杂度成组比特率410。值得注意的是,成组单元260将复杂度成组比特率410设置为psnr图255中的比特率的值,其中psnr值等于预定的低失真阈值。随后,成组单元260选择对应于包括复杂度成组比特率410的比特率范围的复杂度组132。在步骤618,成组单元260选择对应于所选择的复杂度组132的比特率阶梯134。在步骤620,成组单元260将源调谐的比特率阶梯135设置为所选择的比特率阶梯134,并且方法600结束。

值得注意的是,源调谐比特率阶梯135被调谐以优化针对具有可与源数据105相比的复杂度的源数据的编码比特率和分辨率。例如,返回参考图3,对于相对简单的源数据105,源调谐比特率阶梯135不包括高于3000kbps的比特率梯级,这些比特率梯级不提供明显的质量改进。相较之下,对于相对复杂的源数据105,源调谐比特率阶梯135包括7500kbps的比特率梯级,其以诸如存储器和带宽之类的资源为代价提供提升的质量。

总之,所公开的技术可以用于有效地选择用于编码源数据的优化的比特率梯级(即,比特率和分辨率对)。在操作中,源检查器从源数据中提取“n”个分布式样本段。对于每个样本段,复杂度分析器配置编码器以跨量化参数的“m”个不同值执行固定量化参数编码。然后,复杂度分析器生成峰值信噪比(psnr)曲线的等式,其反映psnr和(n*m)个编码的数据段的比特率之间的关系。

随后,成组单元将该等式的psnr变量设置为表示可接受的失真水平的预定值,并且求解该等式以获得成组比特率。基于成组比特率,成组单元将源数据分配到多个复杂度组中的一个复杂度组,其中每个复杂度组张成对于具有特定复杂度的源数据实现可接受的失真水平的比特率范围。例如,一个组可以表示简单的源数据,例如,卡通片,而另一个组可以表示复杂的源数据,例如,详细的动作电影。值得注意,每个复杂度组与经验地确定的比特率阶梯相关联,以优化相应的复杂度的编码源数据。

有利的是,精明地创建复杂度组并使用适当复杂度组的比特率阶梯来编码每个源数据优化了对具有不同复杂度的源数据的编码。更具体地,由于所公开的技术将比特率阶梯调谐到源的复杂度,从而成组使得能够在编码质量和编码资源(例如,带宽和存储)之间进行谨慎的权衡。相较之下,依赖于单一比特率阶梯的常规编码处理通常导致编码具有不可接受的低质量或者没有有效地利用机会来基于明智估计的可感知质量差异增加或减少对编码资源的使用。

已经为了说明的目的呈现了各种实施例的描述,但并不旨在穷举或限于所公开的实施例。在不脱离所描述的实施例的范围和精神的情况下,许多修改和变化对于本领域普通技术人员将是显而易见的。

本实施例的方面可以体现为系统、方法或计算机程序产品。因此,本公开的方面可以采用如下形式:完全是硬件实施例、完全是软件实施例(包括固件、驻留软件、微代码等)、或组合软件和硬件方面(在本文中可全部被一般地称为“电路”、“模块”或“系统”)的实施例。此外,本公开的方面可以采用体现在一个或多个计算机可读介质中的计算机程序产品(具有体现在上面的计算机可读程序代码)的形式。

可以使用一个或多个计算机可读介质的任何组合。计算机可读介质可以是计算机可读信号介质或计算机可读存储介质。计算机可读存储介质可以是例如但不限于电的、磁的、光的、电磁的、红外的或半导体系统、设备或装置,或前述各项的任何合适的组合。计算机可读存储介质的更具体的示例(非详尽列表)将包括以下项:具有一条或多条线的电连接、便携式计算机软盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或闪速存储器)、光纤、便携式光盘只读存储器(cd-rom)、光存储设备、磁存储设备、或前述各项的任何合适的组合。在本文档的上下文中,计算机可读存储介质可以是可以包含或存储由指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合使用的程序的任何有形介质。

以上参考根据本公开的实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图来描述本公开的方面。应当理解,流程图和/或框图种的每个块以及流程图和/或框图中的块的组合可以通过计算机程序指令来实现。这些计算机程序指令可以被提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器以形成机器,从而指令(其经由计算机的处理器或其它可编程数据处理装置执行)使得一个或多个流程图和/或框图的块中指定的功能/动作能够被实现。这样的处理器可以是但不限于通用处理器、特殊用途处理器、专用处理器、或现场可编程阵列。

附图中的流程图和框图说明了根据本公开的各种实施例的系统、方法和计算机程序产品的可能实现方式的架构、功能和操作。就这一点而言,流程图或框图中的每个块可以表示代码的模块、段或部分,其包括用于实现(一个或多个)指定逻辑功能的一个或多个可执行指令。还应指出的是,在一些替代的实施方式中,块中所述的功能可以不按附图中指出的顺序发生。例如,取决于所涉及的功能,连续示出的两个块实际上可以基本上同时被执行,或者这些块有时可以以相反的顺序被执行。还应指出的是,框图和/或流程图中的每个块和框图和/或流程图中的块的组合可以由执行指定功能或动作的专用的基于硬件的系统或专用的硬件和计算机指令的组合来实现。

尽管上文指出了本公开的实施例,但是可以在不脱离本发明的基本范围的情况下想出本公开的其它和另外的实施例,并且本发明的范围由所附权利要求来确定。

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