用于数字图像转码中的参数质量感知选择的系统和方法

文档序号:7941027阅读:264来源:国知局

专利名称::用于数字图像转码中的参数质量感知选择的系统和方法
技术领域
:本发明大致地涉及图像转码(transcoding),并具体而言涉及对包含在多媒体消息传送服务(MMS)消息中的图像的转码。
背景技术
:如例如在0MA多媒体消息传送服务规范(ApprovedVersion1.2,2005年5月,OpenMobileAlliance,0MA-ERP-MMS-Vl_2-200504295-A.zip,其可从以下URL得到http://www.openmobi1eal1iance.org/Technical/release_program/mms_vl_2.aspx)中所述的,多媒体消息传送服务(MMS)提供了用于将多种类型的数据主要通过无线网络进行对等的和服务器到客户端的传送的方法,所述数据包括文本、音频、静态图像、以及运动图像。尽管匪S提供用于封装这些数据的标准方法,但是数据类型可以用大量标准格式中的任一种进行编码,所述格式诸如纯文本、3GP视频和音频/语音、用于合成音频的SP-MIDI、JPEG静态图像(关于它们中任一种的细节请参见MultimediaMessagingService,Mediaformatsandcodecs,3GPPTS26.140,V7.1.0(2007-06),其可从以下URL得到http://www.3gpp.org/ftp/Specs/html-info/26140.htm)。静态图像通常以JPEG格式进行编码,“独立jpeg小组(Theindependentjpeggroup)”已经编写了对于该格式的软件库,并发布在ftp.uu.net/graphics/jpeg/jpegsrc.v6b.tar.gz。图1示出了MMS系统体系结构100的一个示例,包括发起节点102、服务传递平台104、目的地节点106、以及适配引擎108。发起节点102能够通过网络“A”110与服务传递平台104进行通信。类似地,目的地节点106能够通过网络“B”112与服务传递平台104进行通信。网络“A”和“B”仅是示例,其被示出以表示连通性的可能集合,并且许多种其它配置也是可能的。例如,发起节点和目的地节点(102和106)可以能够通过单个网络与服务传递平台104进行通信;发起节点102可以在没有居间网络的情况下直接连接于服务传递平台104,等等。适配引擎108可以通过链路114直接与服务传递平台104连接,如图1所示,或者可替换地,适配引擎108可以通过网络连接于服务传递平台104,或者可以嵌入到服务传递平台104中。在通常情形中,发起节点102可以发送去往目的地节点106的(多媒体)消息。该消息通过网络“A”110被转发到服务传递平台104,该消息从服务传递平台104经由网络“B”112被发送到目的地节点106。发起节点和目的地节点(102和106)可以例如是无线设备,在此情形中发起节点和目的地节点(102和106)可以是无线网络,并且服务传递平台104可以提供多媒体消息转发服务。在另一情形中,发起节点102可以是内容提供者的服务器,其通过数据网络连接于服务传递平台104,即,网络“A”110可以是因特网,而网络“B”112可以是服务于目的地节点106的无线网络,目的地节点106可以是无线设备。针对多媒体消息传送服务(MMS)的服务器侧的适配的概述在St6phaneCoulombe禾口GuidoGrassel的论文"MultimediaAdaptationfortheMultimediaMessagingService"(IEEECommunicationsMagazine,vol.42,no.7,第120-126页,2004年7月)中给出。具体到图像的情形中,由发起节点102发送的消息可以包括图像,特别是JPEG编码图像。目的地节点106的能力可能不包括以图像初始形式显示该图像的能力,例如,这是因为在像素数量方面(即,图像的分辨率)的图像的高度或宽度超过了目的地节点106中的显示设备的尺寸或分辨率。为了使目的地节点106接收和显示图像,可以在图像被传递到目的地节点106之前在适配引擎108的图像转码器116中修改该图像。由图像转码器116对图像的修改典型地包括缩放(即,改变图像分辨率)以及压缩。通常进行图像压缩,以便出于存储或传送节约的原因而减少图像的文件大小,或者满足网络需求强加的文件大小限制或比特率限制。MMS中的接收设备还具有存储器限制,从而导致文件大小限制。JPEG标准提供了一种用于图像压缩的通用方法。众所周知,JPEG压缩是“有损的”,即,已压缩图像可能不包含初始图像中所包含的100%的数字信息。信息的损失可以通过在压缩期间设置“质量因子”QF来控制。较低的QF等同于较高的压缩,并通常导致较小的文件大小。相反地,较高的QF导致较大的文件大小,并通常导致较高的图像查看“质量”。通过改变图像的分辨率或者通过缩放来满足终端的能力是具有公知解决方案的问题。不过,针对文件大小限制来优化图像质量仍旧是一种挑战,因为在质量因子QF、查看质量、以及已压缩文件大小之间不存在良好建立的关系。将缩放用作实现文件大小减少的附加手段而不是仅进行分辨率适配使得该问题整体变得更加具有挑战。针对可视内容的文件大小减少的问题已经进行过广泛研究。在ZhijimLei和N.D.Georganas的"AccuratebitallocationandratecontrolforDCTdomainvideotranscoding"(IEEECCECE2002.CanadianConferenceonElectricalandComputerEngineering,2002年,vol.2,第968-973页)中,示出了比特率减少可以通过对量化参数的适配而不是通过缩放来实现。这在低比特率视频的背景中是有意义的,其中分辨率通常被限于多个预定义的格式。在JustinRidge的“Efficienttransform-domainsizeandresolutionreductionofimages"(SignalProcessingImageCommunication,vol.18,no.8,第621-639页,2003年9月)中,描述了一种技术,用于缩放并接着减少JPEG图像的文件大小。但是,该技术没有相结合地考虑缩放和质量降低。在VireshRatnakar和VictorIvashin的美国专利6,233,359(标题为"FilesizeboundedJPEGtranscoder")中描述了一种用于减少现有JPEG文件的大小的方法。不过,当降低图像的质量和比特率时,该方法不包括对图像的缩放。用于估计经由对缩放和QF的同时改变造成的JPEG图像的已压缩文件大小的方法已经在StevenPigeon和St6phaneCoulombe的简要笔记(标题为“VeryLowCostAlgorithmsforPredictingtheFileSizeofJPEGImagesSubjecttoChangesofQualityFactorandScaling,,,DataCompressionConference(DCC2008),第538页,2008年)中进行了报告,并在“ComputationallyefficientalgorithmsforpredictingthefilesizeofJPEGimagessubjecttochangesofqualityfactorandscaling"(Proceedingsofthe24thQueen'sBiennialSymposiumonCommunications,Queen'sUniversity,Kingston,Canada,2008(the"Kingston"paper))中以及StevenPigeon的PCT专禾lj申请(标题为“SystemandMethodforPredictingtheFileSizeofImagesSubjecttoTransformationbyScalingandChangeofQuality-ControllingParameters”,序列号PCT/CA2007/001974,申请日为2007年11月2日)中进行了完整描述。虽然在图像转码领域中有最新进展,但是仍旧存在对于开发一种改进的转码方法的需求,其将缩放、已压缩文件大小限制、以及图像质量考虑进来。
发明内容因此,本发明的目的是提供一种用于缩放图像的方法和系统,其将避免或减轻现有技术的缺陷。根据本发明的一方面,提供了一种用于针对具有文件大小和图像大小限制的终端将输入图像转码为输出图像的图像转码系统,所述系统包括具有计算机可读存储介质的计算机,所述介质具有存储在其上的计算机可执行指令,所述指令当被所述计算机执行时提供以下图像特征提取模块,用于确定所述输入图像的尺寸、文件大小、和编码质量因子QF⑴;转码模块,用于通过转码参数将所述输入图像转码为输出图像,所述转码参数包括转码器缩放因子zT和转码器质量因子QFT;质量确定块,用于确定所述转码的质量度量;质量和文件大小预测模块,用于确定作为所述转码参数的函数的所述输出图像的相对输出文件大小;以及质量感知参数选择模块,用于确定最优转码参数,以满足最大相对文件大小以及产生最优质量度量。所述转码模块包括解压缩模块,用于解压缩所述输入图像;缩放模块,用于通过所述转码器缩放因子zT缩放已解压缩的输入图像;以及压缩模块,用于通过所述输出编码质量因子QFT压缩已解压缩和已缩放的输入图像。所述质量感知参数选择模块包括计算装置,用于选择小于从所述输入图像的尺寸和所述终端限制中确定的最大缩放因子的缩放因子zT与所述输出编码质量因子QFT的可行结合,所述可行结合导致了遵守所述最大相对文件大小的相对输出文件大小;以及计算装置,用于迭代地选择不同值对(zT,QFT),直到所述质量度量为最优为止。所述质量确定块包括质量评估模块,用于明确地计算所述质量度量,所述质量评估模块包括解压缩(R)模块,用于解压缩所述输出图像;缩放(ZR)模块,用于通过再缩放因子zR缩放已解压缩的输出图像;解压缩(V)模块,用于解压缩所述输入图像;缩放(zV)模块,用于通过查看缩放因子zV缩放已解压缩的输入图像;以及质量计算模块,用于从已解压缩和已缩放的输出图像和已解压缩和已缩放的输入图像计算所述质量度量。优选地,所述质量度量基于所述输出图像与所述输入图像相比的峰值信噪比(PSNR)度量。可替换地,所述质量度量可以基于所述输出图像与所述输入图像相比的最大差(MD)度量。可以理解,也可以使用所述输出和输入图像之间的其它度量。有利地,所述输入图像和输出图像是JPEG图像。所述质量确定块包括质量预测表,用于查找作为所述质量度量的预测质量度量,所述质量预测表包括指示由以下参数所索引的预测质量度量的多个表条目输入质量因子QF_in,其等于所述输入图像的编码质量因子QF(I);查看缩放因子zV,其可以被设置为等于所述转码器质量因子zT或适于所述输出图像的查看条件的另一值;输出编码质量因子QFT;以及转码器缩放因子zT。所述质量预测表包括指示所述预测质量度量的多个表条目,其由查看缩放因子zV进一步索引,所述查看缩放因子tN被设置为等于所述转码器缩放因子zT和所述最大缩放因子之间的范围内的值。所述质量确定块进一步包括质量评估模块,用于明确地计算已计算的质量度量,所述质量评估模块包括解压缩(R)模块,用于解压缩所述输出图像;再缩放(ZR)模块,用于通过再缩放因子zR缩放已解压缩的输出图像;解压缩(V)模块,用于解压缩所述输入图像;缩放(zV)模块,用于通过所述缩放因子zV缩放已解压缩的输入图像;以及质量计算模块,用于从已解压缩和已缩放的输出图像和已解压缩和已缩放的输入图像计算所述已计算的质量度量。所述质量感知参数选择模块进一步包括存储装置,用于(zT,QFT)的可行组合的可行集合“F”;计算装置,用于根据从所述质量预测表获得的预测质量度量将所述可行集合“F”的条目排序;计算装置,用于创建所述可行集合“F”的有希望的子集;计算装置,用于迭代地从所述有希望的子集中选择不同的值对(zT,QFT),以及通过所述质量评估模块计算对应的质量度量,直到所述质量度量为最优的为止。根据本发明的另一方面,提供了一种用于将输入图像质量感知转码为输出图像的方法,所述输出图像用于在具有设备文件大小和图像大小限制的终端上显示,所述方法包括以下步骤(a)获得所述终端的限制;(b)获得所述输入图像;(c)提取所述输入图像的特征,包括所述输入图像的尺寸和文件大小;(d)通过所述输入图像的文件大小和尺寸确定最大缩放因子zjnax;(e)通过所述设备文件大小和所述输入图像的文件大小确定最大相对文件大小;(f)选择可行的转码参数值对,每个值对包括不超过所述最大缩放因子zjnax的转码器缩放因子zT,以及被选择为使得预测相对输出文件大小不超过所述最大相对文件大小的输出编码质量因子QFT;(g)通过所述可行转码参数值对中的所选择一个将所述输入图像转码为输出图像;(h)确定所述转码的质量度量;(j)将关联于所述最佳质量度量的输出图像保存为最佳图像;(k)选择所述可行转码参数值对中的另一个,并重复步骤(g)至(j),直到最佳质量度量被找到为止;以及(1)输出所述最佳图像。所述步骤(c)包括提取所述输入图像的编码质量因子QF(I),以及所述步骤(f)包括预测作为所述编码质量因子QF(I)、所述转码器缩放因子zT、以及所述输出编码质量因子QFT的函数的所述相对输出文件大小。所述步骤(g)包括在所述输出图像的实际相对文件大小在转码之后超出所述最大相对文件大小的情形中,跳到步骤(k)。所述步骤(h)包括(i)解压缩所述输入图像,并通过查看缩放因子zV对其进行缩放,以产生第一中间图像,其中介于zT和单位一之间的查看缩放因子zV是基于预期的所述输出图像的查看条件被选择的;(ii)解压缩所述输出图像,并通过再缩放因子zR对其进行缩放,以产生第二中间图像,其中zR被计算为zR=zV/zT;以及(iii)计算作为所述第二与第一中间图像之间的峰值信噪比(PSNR)的所述质量度量。有利地,所述步骤(h)包括从由以下索引中的两个或两个以上所索引的多维质量预测表读取所述质量度量(索引1)所述输入图像的输入质量因子QF(I);(索引2)介于zT和单位一之间的查看缩放因子zV,其基于预期的所述输出图像的查看条件被选择;(索引3)所述输出编码质量因子QFT;以及(索引4)所述解码器缩放因子zT。便利地,所述步骤(h)包括针对至少一个所述索引在所述表的条目之间进行内插。所述步骤(f)包括创建可行转码参数值对的可行集合“F”,并且截断所述集合,从而使得仅仅被预测为产生最高质量度量的可定义的数量C_max个转码参数值对仍留在所述集合中,并且保持为可用于进行选择,其中通过从由以下索引中的两个或两个以上所索引的多维质量预测表读取预测质量度量而获得预测质量度量(索引1)所述输入图像的输入质量因子QF⑴;(索引2)介于zT和单位一之间的查看缩放因子zV,其基于预期的所述输出图像的查看条件被选择;(索引3)所述输出编码质量因子QFT;以及(索引4)所述解码器缩放因子zT。以及其中所述步骤(h)包括(i)解压缩所述输入图像,并通过查看缩放因子zV对其进行缩放,以产生第一中间图像,其中介于zT和单位一之间的查看缩放因子zV是基于预期的所述输出图像的查看条件被选择的;(ii)解压缩所述输出图像,并通过再缩放因子ZR对其进行缩放,以产生第二中间图像,其中zR被计算为zR=zV/zT;以及(iii)计算作为所述第二与第一中间图像之间的峰值信噪比(PSNR)的所述质量度量。如果需要,所述步骤(f)包括针对至少一个所述索引在所述表的条目之间进行内插。还提供了一种计算机可读介质和一种制品,包括计算机可读介质,其上存储有计算机代码指令,所述指令当被计算机执行时执行上述方法的步骤。根据本发明的再一个方面,提供了一种用于将输入图像质量感知转码为输出图像的方法,所述输出图像用于在显示设备上显示,所述方法包括以下步骤(a)获得所述显示设备的限制;(b)获得所述输入图像;(c)提取所述输入图像的特征;(d)从所述设备的限制和所提取的特征预测所述输出图像的文件大小;(e)选择可行转码参数的集合,以满足所述终端的限制;(f)通过所选择的可行的转码参数将所述输入图像转码为输出图像;(g)确定所述输出图像的质量度量;以及(h)重复步骤(e)至(g),直到最高质量度量被找到为止。在上述方法中,所述步骤(g)包括基于对所述输出图像与所述输入图像相比的峰值信噪比(PSNR)或者MD(最大差),或者所述输出与输入图像之间的另一度量,确定所述质量度量。优选地,所述步骤(g)包括通过查找质量预测表来预测所述质量度量。如果需要,所述步骤(g)包括在表的条目之间进行内插。所述步骤(e)包括通过仅保留被预测为产生高质量度量的可行转码参数,将可行转码参数的集合截断为较小的集合。所述步骤(e)包括使用质量预测表来查找由所述可行转码参数所索引的所述预测质量度量。优选地,由上述系统和方法处理的输入和输出图像是JPEG图像。可以预期,本发明实施例的方法和系统也适用于用其它格式编码的数字图像,例如当在松散压缩模式下使用时的GIF(图形交换格式)和PNG(便携式网络图形)。因此,已经提供了用于转码数字图像的改进的系统和方法。现在将通过示例并参考附图描述本发明的实施例,在附图中图1示出了现有技术的匪S系统体系结构100的示例;图2示出了一种基本的质量感知图像转码系统200(基本系统);图3示出了基本系统200的质量评估模块210的细节;图4是对应于基本系统200的、用于在JPEG图像转码中对参数的选择的基本质量感知参数选择方法(基本方法)400的流程图;图5是示出了基本方法400的步骤412“运行质量感知参数选择和转码循环”的扩展的流程图;图6示出了质量预测表生成系统500;图7示出了简单的质量感知图像转码系统(简单系统)600;图8是适用于简单系统600的用于在JPEG图像转码中对参数的质量感知选择的预测方法700的流程图;图9是示出了预测方法700的步骤702“运行预测质量感知参数选择循环”的扩展的流程图;图10示出了改进的质量感知转码系统(改进系统)800的框图;图11是适用于改进系统800的在JPEG图像转码中对参数的质量感知选择的改进方法900的流程图;图12是示出了改进方法900的步骤902“创建集合“F””的扩展的流程图;图13是示出改进方法900的步骤904“运行改进的质量感知参数选择和转码”的扩展的流程图;图14A和14B分别示出了针对zV=0.7以及s_max=1.0的已排序PSNR值的示例;以及针对zV=0.7以及sjiiax=0.7的已排序PSNR值的示例;以及图15是质量预测表生成方法1000的流程图,其示出了图6的质量预测表生成系统500的功能。具体实施例方式本发明实施例的目的是提供一种方法和质量感知图像转码器,其用于缩放图像从而满足显示设备关于分辨率或图像大小以及文件大小的限制,与此同时使得用户体验、或者已转码图像的客观质量最大化。在第一实施例中,描述了一种使用预测表(下表1)的转码器系统,该预测表基于对大量图像进行转码的结果。关于预测表的进一步细节以及可以生成所述表的方法可以在上述的StevenPigeon禾口St6phaneCoulombe的论文(标题为“ComputationallyefficientalgorithmsforpredictingthefilesizeofJPEGimagessubjecttochangesofqualityfactorandscaling,,)中找到。预测表可以用作为三维查找表,用于利用一定量的统计置信度,作为以下三个量化参数的函数来估计已转码图像的文件大小转码前的图像的输入质量因子(QF_in);缩放因子(“ζ”);以及将用于压缩已缩放图像的输出质量因子(QF_out)。为了方便读者,在此再现来自上述论文的预测表的二维片段的示例。缩放表1:相对文件大小预测表1示出了作为缩放因子“ζ”和输出质量因子QF_out的函数,输入质量因子QF_in=80%的针对转码图像的相对文件大小预测的二维片段。该表1示出了相对文件大小预测,其被量化为10乘10的相对大小因子的矩阵。该矩阵中的每个条目是作为所选择的输出质量因子QF_out以及所量化的缩放因子“ζ”的函数的、已缩放的JPEG图像的平均相对文件大小预测的示例。输出质量因子被量化为范围从10到100的、为矩阵的行做索引的十个值。范围从10%到100%的所量化缩放因子“ζ”为子阵列的列做索引。表中的每个条目表示相对大小因子,即这样的因子,利用所选参数对图像的转码(解压缩、缩放、和再压缩)将被预期为通过该因子改变图像的文件大小。作为示例,利用缩放因子70%和输出质量因子QF_out90进行转码的文件大小为IOOKB的输入图像将被预期为产生文件大小为100KB^0.75=75KB的输出图像。应该注意,该结果是以来自大量不同图像的大量集合的预计算转码的平均值为基础的预测——对特定图像的转码可以导致不同的文件大小。如在上述论文中详细描述的,该表可以根据包括大量图像的训练集合来生成和优化。选择输入质量因子QF_in为80%作为在万维网上找到的多数图像的典型代表。预测表可以包含另外的二维片段,从而表示针对不同的输入质量因子的转码图像的文件大小预测。此外,出于说明的目的,表1被选择作为尺寸10X10的矩阵。也可以使用不同尺寸的矩阵。此外,尽管在以下描述中,诸如QF_in和Z的参数被量化,但是有可能可替换地从该表中内插值。例如,在表1中,如果想要针对缩放因子为65%以及输出质量因子QF_out为75的相对文件大小预测,则可以使用线性内插以获得相对文件大小(0.33+0.42+0.41+0.52)/4=0.42。对于本发明实施例的其余描述,假定输入质量因子QF_in为80%,并且将使用10X10大小的表1。通过观察表1,很明显,QF_out和缩放因子“ζ”的若干组合可以导致大致相同的预测文件大小,这造成了以下问题,即哪种组合将使得主观用户体验或者客观质量最大化。客观质量可以通过多种不同方式计算。在本发明第一实施例中,提出了一种质量度量,其中将输入(转码之前)和输出(转码之后)图像进行比较。所谓的峰值信噪比(PSNR)通常用作为图像压缩中的重构的质量度量。也可以在不失通用性的情况下使用其它度量,诸如“最大差”(MD)。图2示出了一种基本的质量感知图像转码系统200(基本系统),包括具有处理器和计算机可读存储介质的计算机,所述介质具有在其上存储的计算机可执行指令,所述指令当被处理器执行时提供以下模块图像特征提取模块202;质量和文件大小预测模块204;质量感知参数选择模块206;转码模块208;以及基本质量确定块209,其包括质量评估模块210。转码模块208包括用于解压缩的模块212;用于缩放的模块214;用于压缩的模块216。基本系统200进一步包括用于存储的装置(例如,数据存储设备),其存储输入图像(输入图像“1”)218;输出图像(输出图像“J”)220;预测表“Μ”222;以及终端限制的集合(限制)224。终端限制的集合224包括最大设备文件大小S(D),以及设备的最大可允许图像尺寸,即最大可允许图像宽度W(D)和最大可允许图像高度H(D)。如图所示的表“Μ”222可以被包含在以上提及的“Kingston”论文中,并且从中已经再现了表1,作为表“M”222的子阵列的示例。输入图像“I”218耦合于转码模块208的图像输入226,以被转换并在转码模块208的图像输出228处输出,并且耦合于输出图像“J”220。输入图像“1”218还耦合于图像特征提取模块202的输入,并且耦合于质量评估模块210的第一图像输入230。用于将输出图像“J”220进行输出的转码模块208的图像输出228还耦合于质量评估模块210的第二图像输入232。质量评估模块210输出质量度量“QM”,其被发送到质量感知参数选择模块206的QM输入234。图像特征提取模块202的输出是输入图像参数的集合“IIP”,其耦合于质量和文件大小预测模块204的IIP输入236,以及耦合于质量感知参数选择模块206的图像参数输入238。输入图像参数的集合“IIP”包括文件大小S(I)、编码质量因子QF(I)、以及输入图像“I”218的宽度和高度尺寸W(I)和H(I)。质量和文件大小预测模块204的输出是表“M”222的子阵列M(I),即,由与输入图像“1”218的已量化编码质量因子对应的QF_in=QF⑴所索引的表“M”222的片段。子阵列M(I)被输入到质量感知参数选择模块206的文件大小预测输入240。质量感知参数选择模块206的输出是包括转码器缩放因子“zT”以及转码器质量因子“QFT”的转码参数集合,其也被称为输出编码质量因子QFT。这些转码参数耦合于转码模块208的转码参数输入242。在优选实施例中,基本系统200可以用软件程序便利地实现,其中模块202至216可以是软件模块子例程,并且模块的输入和输出分别是函数调用参数和函数返回值。诸如输入图像I218、输出图像J220、以及表“Μ”222的数据可以被存储为可由所有函数访问的全局数据。终端限制的集合224可以从设备特征的数据库获得。通过在解压缩模块212中对输入图像进行解压缩,在缩放模块214中利用转码器缩放因子“zT”对输入图像进行缩放,以及在压缩模块216中利用转码器质量因子“QFT”压缩已缩放的图像,从而在转码模块208中实现对输入图像“1”218的转码。转码参数zT和QFT由此控制转码操作,其中这些转码参数的值由质量感知参数选择模块206确定。质量评估模块210的目的是比较输入图像“I”218与输出图像“J”220以及计算质量度量“QM”,其应该是由转码过程引入的失真的度量。在本发明优选实施例中,质量度量“QM”被明确计算为图像对(图像“J”和“I”)的PSNR,并且用dB进行度量,高dB值指示出较少失真,即,较高质量。质量和文件大小预测模块204使用输入图像参数的集合“IIP”的编码质量因子QF(I),以选择表“M”222的子阵列M(I),子阵列M(I)表示用于对最初通过质量因子QF(I)编码的任意图像(例如,输入图像“1”218)进行转码的预测相对输出文件大小。质量因子QF(I)是实际输入质量因子QF_in的量化最接近等量物。质量感知参数选择模块206包括用于选择转码参数zT和QFT的可行的值对(zT,QFT)的计算装置,其中可行按照如下定义从转码参数的完全范围中,从表“M”222的索引范围(“ζ”和QF_out)中选择不同的值对(zT,QFT);如果转码器缩放因子zT不超过最大缩放因子“zjnax”,则值对(zT,QFT)被接受,其中最大缩放因子“z_maX”通过终端限制的集合224确定,从而使得不超过最大可允许图像宽度W(D)和高度H(D),否则选择另一不同的值对(zT,QFT);值对(zT,QFT)接着被用于索引子阵列M(I),以确定对应的预测相对输出文件大小sT;以及如果预测相对输出文件大小sT不超过最大相对文件大小sjnax,则值对(zT,QFT)被认为是可行,其中Sjnax是以下二者中较小的单位一(1),或者通过将来自限制224的最大设备文件大小S(D)除以输入图像“1”218的实际文件大小S(I)的比率,否则选择另一不同的值对(zT,QFT)。用于迭代搜寻不同的值对(zT,QFT)直到质量度量QM为最优的计算装置包括针对zT和QFT的每个可行组合的循环由转码模块208执行转码操作(输入图像“1”218到输出图像“J”220);所得出的输出图像“J”220具有实际文件大小S(J),并且如果通过将输出图像“J”220的实际文件大小S(J)除以输入图像“1”218的实际文件大小S(I)而获得的所得的相对文件大小超过最大相对文件大小s_max,则转码仍可以被拒绝;通过生成针对特定转码的质量度量QM,在质量评估模块210中评估转码的质量(更多细节参见下文);以及具有最高相关联的质量度量QM的输出图像“J”220被保留为最佳图像。在质量评估模块210中对输入图像“I”218与输出图像“J”220的比较经由以下事实变复杂,所述事实为需要至少一个附加的缩放操作,以便可以比较具有相同图像分辨率的两个图像。图3示出了基本系统200的质量评估模块210的细节。质量评估模块210包括解压缩(R)模块302;缩放(zR)模块304;解压缩(V)模块306;缩放(zV)模块308;以及质量计算模块310。耦合于质量评估模块210的第一图像输入的输入图像“I”通过解压缩(V)模块306进行解压缩,通过缩放(zV)模块308进行缩放,并且被耦合于质量计算模块310的第一输入。类似地,耦合于第二图像输入232的输出图像“J”通过解压缩(R)模块302进行解压缩,通过缩放(zR)模块304进行缩放,并且被耦合于质量计算模块310的第二输入。质量计算模块310生成质量度量QM。定义两个再缩放参数在缩放(zR)模块304中使用的再缩放因子zR,以及在缩放(zV)模块308中使用的查看缩放因子zV。为了图像分辨率相等,我们必须使得zV=zT*zR,其中zT是上述的转码器缩放因子zT。查看缩放因子zV必须小于或等于1,因为我们从不想在比较质量时增加初始图像的分辨率。转码器缩放因子zT总是小于或等于1,并被选择为满足设备限制。查看缩放因子zV依赖于查看条件,输出图像“J”针对所述查看条件被缩放,并且查看缩放因子zV应该被选择为使得查看者的体验,即期望的主观图像质量最大化(最优)。对于三种情形感兴趣杳看情形1:zV=1。以输入图像“I”的分辨率比较图像。这对应于zR=l/zT,即,输出图像“J”需要被按比例扩大。杳看情形2:zV=zT。以输出图像“J”的分辨率比较图像,从而zR=1。杳看情形3:zV<zT<1。以初始的(“I”)和已转码(“J”)的图像分辨率之间的分辨率比较图像,由此zR=zV/zT0这将导致zR>1,即,输出图像“J”可能需要被按比例扩大。与查看缩放因子zV的选择对应的预期查看条件在用户对已转码结果的评价中扮演了主要角色。如果将仅在终端上查看输出图像“J”,则查看情形2可以是不错的选择。不过,如果输出图像“J”稍后可能被传输到另一个更有能力的设备(例如个人计算机),其中输出图像“J”可能被再次按比较扩大,则必须考虑初始图像(输入图像“I”)的分辨率,这导致查看情形1。当以已转码分辨率和初始图像(输入图像“I”)的分辨率之间的分辨率查看输出图像“J”时,例如,以设备支持的最大分辨率,其中用户可以在设备上扫视和变焦而仅受到其图像分辨率的限制,则可以使用查看情形3。查看情形3是最普遍的情形,其中输入和输出图像分别通过缩放因子zV和zR进行缩放。在特殊情形中(查看情形2和查看情形3),可以容易地理解,在计算模块310中可以获得某些处理效率。例如,在查看情形l(zV=1)中,不需要输入图像“I”的实际再缩放用于比较。因此,已经解压缩的输入图像“I”已经在转码模块208的解压缩模块212的输出端可获得,并且可以直接用在质量计算模块310中。类似地在查看情形2中,不需要输出图像“J”的实际再缩放用于比较。因此,输出图像“J”仅需要在解压缩(R)模块302中被解压缩,并且缩放(zR)模块304中的再缩放操作可以被略过。由于一般而言在缩放和压缩操作中固有的量化,与初始图像(输入图像“I”)相比,在已转码图像(输出图像“J”)中将存在失真。类似地,在质量评估模块210中对这些图像之一或二者的再缩放引入了附加的失真。结果,对应于上述三种情形的查看条件可以导致在质量计算中的不同结果,并且取决于对查看缩放因子zV和作为结果的再缩放因子zR的选择,可以利用值对(zT,QFT)中的转码参数的不同参数设置获得最佳质量的图像。可以在质量和文件大小预测模块204中根据基本系统200的预期应用来选择和设置查看缩放因子zV(以及隐含的zR)。在最简单的情形中,查看缩放因子zV被设为等于转码器缩放因子zT(查看情形2)。如果图像将被优化用于仅在终端上查看,则提议将查看条件设为对应于由该设备支持的最大分辨率。图4是对应于基本系统200的基本质量感知参数选择方法(基本方法)400的流程图,所述方法用于在JPEG图像转码中对参数的选择。基本方法400包括以下连续步骤步骤402“获得设备限制”;步骤404“获得输入图像I”;步骤406“提取图像特征”;步骤408“预测质量和文件大小”;步骤410“初始化参数”;步骤412“运行质量感知参数选择和转码循环”;步骤414“验证结果”;以及步骤416“返回图像J”。在步骤402“获得设备限制”中,通过网络从数据库或者直接从显示设备获得终端限制的集合(参见限制224,图2),包括最大设备文件大小S(D)、显示设备(参见目的地节点106,图1)的最大可允许图像宽度W(D)、以及最大可允许图像高度H(D)。在步骤404“获得输入图像I”中,从发起终端或服务器(参见发起节点102,图1)接收将被转码的图像(输入图像“I”)。在步骤406“提取图像特征”(参见图像特征提取模块202,图2)中,从输入图像“I”获得输入图像参数的集合,包括文件大小S(I)、图像宽度W(I)、图像高度H(I)、以及编码质量因子QF⑴。在JPEG编码的图像中,文件大小S(I)、图像宽度W(I)、以及图像高度H(I)可以从图像文件中容易地得到。在图像的编码中使用的质量因子QF(I)可以不被明确编码在图像文件中,但是可以可靠地遵循下述方法被适当地估计,所述方法在SurendarChandra禾口CarlaSchlatterEllis的“JPEGcompressionmetricasaqualityawaretranscoding,,(UnixSymposiumonInternetTechnologiesandSystems,1999年)中描述。可替换地,输入图像“I”的质量因子QF(I)可以仅被假定为应用的典型质量因子,例如80%。在步骤408“预测质量和文件大小”(参见质量和文件大小预测模块204,图2)中,建立查看条件,即,选择用于查看缩放因子zV的适当值ZV=min(W(D)/W(I),H(D)/H(I),1),S卩,zV是以下三个值中最小的最大可允许图像宽度W(D)与输入图像宽度W(I)的比率、最大可允许图像高度H(D)与输入图像高度H(I)的比率、以及一(1)。假定在转码时通常保持图像的高宽比。上限一(1)是为了确保即便显示设备能够显示比初始输入图像“I”更大的图像,zV也不会超过1。在修改方案中,在被认为合意的情况下,有可能在转码时水平地和垂直地应用不同的缩放因子。通过将编码质量因子QF(I)量化为索引QF_in,从本地文件或者从数据库中检索到表“M”222的子阵列M(I)。子阵列M(I)包括作为缩放因子“ζ”和输出质量因子QF_out的函数的相对文件大小预测,所述输出质量因子QF_out将被用于压缩已缩放图像(QF_out)。子阵列M(I)还可以包括由超过zV的缩放因子(“ζ”)、超过显示设备的最大相对文件大小sjiiax的相对文件大小预测所索引的列;子阵列M(I)中的其余条目由可行索引值对的集合(“z”,QF_out)所索引。在步骤410“初始化参数”中,多个变量被初始化,用于准备随后的步骤。这些变量是最佳转码器质量因子=O;最佳转码器缩放因子=O;最佳质量度量QM=O;以及最佳图像=OTL。同样进行初始化的是两个极限最大相对文件大小sjiiax和最大缩放因子zjnax。最大相对文件s_max通过将最大设备文件大小S(D)除以输入图像“1”218的实际文件大小S(I)进行计算,其限于单位一(1)。最大缩放因子zjnax通过已经在之前步骤中计算的查看缩放因子zV给出,即,z_max=zV。步骤412“运行质量感知参数选择和转码循环”是这样的循环从子阵列M(I)取得不同的有效值对(“z”,QF_out);将zT和QFT分配给这些值;利用zT和QFT使得输入图像“I,,被转码为输出图像“J”;计算所得的质量度量QM;以及运行该循环,直到找到最佳图像为止,即,在获得最高质量度量QM的意义上的“最佳”。同时,该循环还可以跟踪转码器质量因子QFT和转码器缩放因子ζΤ,其用在产生最佳输出图像(图5中未示出)的转码步骤中,但是这不是严格必须的,因为最终仅有最佳图像是感兴趣的。图5是示出了基本方法400的步骤412“运行质量感知参数选择和转码循环”的扩展的流程图,其具有以下子步骤步骤452“获得下一值对”;步骤454“可得到值对吗?,,;步骤456“值对可行吗?,,;步骤458“将I转码为J”;步骤460“实际大小可以吗?,,;步骤462“解压缩J,并利用zR缩放为X”;步骤464“解压缩I,并利用zV缩放为Y”;步骤466“计算度量QM=PSNR(X,Y),,;步骤468“QM>最佳Q吗?”;步骤470“设置最佳Q=QM,最佳图像=J”;以及步骤472“设置J=最佳图像”。步骤462至466—起是“质量评估步骤”474,包括质量评估的功能(参见质量评估模块210,图2)。在步骤452“获得下一值对”中,只要可得到不同的值对,就取得索引子阵列M(I)的下一值对(“z”,QF_out)。在步骤454“可得到值对吗?”中,测试是否可得到不同值对。如果可得到(步骤454的是),则执行继续进行步骤456“值对可行吗?”,否则(步骤454的否)循环退出到步骤472“设置J:=最佳图像”,因为所有不同的值对已经取尽。在步骤456“值对可行吗?”中,进行两个测试。首先,将来自值对(“z”,QF_out)的缩放因子“z”与最大缩放因子zjiiax进行比较。如果缩放因子“ζ”超过最大缩放因子z_max,则值对(“z”,QF_out)是无效的,从而是不可行的。如果值对(“z”,QF_out)是无效的,则步骤456“值对可行吗?”立即通过(“否”)退出,并且执行跳回到循环的开始。接着,从由不同值对(“z”,QF_0ut)索引的子阵列M(I)读取预测相对文件大小s,并与最大相对文件大小sjiiax进行比较。如果预测相对文件大小s是可接受的,即,不超过最大相对文件大小s_maX,则步骤456“值对可行吗?”通过“是”退出,并且执行继续进行到步骤458“将I转码为J”,否则(步骤456的否),执行跳回到循环的开始,即,步骤452“获得下一值对”。在步骤458“将I转码为J”中,输入图像“I”被解压缩;通过转码器缩放因子zT=“z”进行缩放;以及已缩放的图像通过转码器质量因子QFT=QF_out进行压缩,从而得出输出图像“J”。在步骤460“实际大小可以吗?”中,通过将输出图像“J”的文件大小除以输入图像“I”的文件大小,计算出实际相对大小s_out。如果实际相对大小s_out不超过最大相对文件大小sjiiax(步骤460的是),则执行继续进行到步骤“质量评估步骤”474,否则(步骤460的否)执行跳回到循环的开始,S卩,步骤452“获得下一值对”。注意,实际相对大小s_out事实上可能大于预测相对文件大小“S”。在“质量评估步骤”474的步骤462“解压缩J,并利用zR缩放为X”中,输出图像“J”被解压缩,并通过再缩放因子zR(计算为zR=zV/zT)进行缩放,从而得出第一中间图像,其为被再缩放的输出图像“X”。类似地,在步骤464“解压缩I,并利用zV缩放为Y”中,输入图像“I”被解压缩,并通过查看缩放因子zV进行缩放,从而得出第二中间图像,其为被再缩放的输出图像“Y”。如上所述,查看缩放因子zV较早被选择,以使用户体验最大化。可以考虑三种查看情形1至3。在步骤466“计算度量QM=PSNR(X,Y)”中,质量度量QM的值被计算为再缩放的输出和输入图像“J”和“I”的峰值信噪比(PSNR)。可替换地,在不丧失普遍性的情况下,也可以使用例如基于“最大差”(MD)的不同度量。在步骤468“QM>最佳Q吗?”中,将计算出的质量度量QM与循环中迄今为止找到的最佳质量度量进行比较。注意,在步骤412“运行质量感知参数选择和转码循环”开始之前,“最佳Q”被初始化为零,并且其是迄今为止找到的最佳质量度量。如果计算出的质量度量QM大于最佳质量度量(“最佳Q”,步骤468的是),则执行继续进行到步骤470“设置最佳Q=QM,最佳图像=J”,否则(步骤468的否),执行跳回到循环的开始,即,步骤452“获得下一值对”。在步骤470“设置最佳Q:=QM,最佳图像=J”中,迄今为止的最佳结果被保存,艮口,最高质量度量“最佳Q被设为等于计算出的质量度量Q;最佳图像被设为等于输出图像“J”;并且转码参数QF_out和zT可以被分别保存为最佳转码器质量因子和最佳转码器缩放因子(图5中未示出)”。在步骤470之后,执行跳回到循环的开始,S卩,步骤452“获得下一值对”,以便可能地找到对输入图像“I”的更好转码,直到所有的可行参数对被取尽为止。当循环最终退出时(步骤454“值对有效吗?,,的否),执行继续进行到步骤472“设置J=最佳图像”,其中输出图像“J”被设为等于在循环的执行中找到的最佳图像。这结束了扩展步骤412“运行质量感知参数选择和转码循环”的描述,在此之后,执行继续进行到步骤414“验证结果”(图4)。在步骤414“验证结果”中,简单的检查确认实际找到了有效的最佳图像,并分配给输出图像“J”(即,该“J”不是NIL)。有可能在执行步骤412“运行质量感知参数选择和转码循环”期间,没有找到可行的转码参数,并且最佳图像仍为NIL,并且由此输出图像“J”被设为NIL。这将会是异常或故障条件,并且过程将把异常错误返回到适配引擎108。通过最后的步骤416“返回图像J”,通过把已转码输出图像“J”返回到系统,用于在JPEG图像转码中参数的质量感知选择的基本方法400结束。由此,基本系统200与用于对参数进行质量感知选择的基本方法400可以被用于提供质量感知转码器,但是花费高处理成本,因为可能需要执行许多转码和缩放操作,以找到针对给定输入图像“I,,和终端限制集合的最佳输出图像“J”。通过利用查找表扩充或替代质量感知参数选择和转码循环,可以构建更高效的系统,所述查找表包含预测质量度量信息,表索引从输入图像限制、设备限制、以及查看条件中导出。输入图像限制包括输入图像的高度、宽度、以及初始质量因子;设备限制包括输出图像的尺寸和最大文件大小;以及查看条件由想要的缩放因子表示,预期对于该想要的缩放因子质量是最优的。所述查找表可以通过预测表生成系统(诸如下文中所述的(图6))和对应的质量预测表生成方法(图14)离线生成。图6示出了质量预测表生成系统500,包括具有处理器和计算机可读存储介质的计算机,所述介质具有存储在其上的计算机可执行指令,所述指令当被处理器执行时,提供以下模块包含输入图像的训练集合的数据库502;质量预测表的计算模块504、用于质量预测表“N”的存储装置506、以及表更新模块508。质量预测表生成系统500进一步包括以下模块,其与基本系统200中的以相同标号进行编号的模块相同图像特征提取模块202;转码模块208;以及质量评估模块210。输入图像的训练集合502包含大量JPEG图像,例如在上述的StevenPigeon等人的“Kingston”论文中描述的70,300个文件的图像训练集合。其输出是一序列输入图像“I”,与基本系统200中一样,它们被单独地输入到图像特征提取模块202、转码模块208、以及质量评估模块210。质量预测表生成系统500的目的是通过针对表示查看条件(查看缩放因子zV)的转码器缩放因子zT的范围以及输入质量因子QF_out的范围,将输入图像的训练集合502中包含的每个图像转码,而生成质量预测表“N”506。质量预测表“N”506是多维表,例如四维表,其包含由四个索引参数所索引的质量度量Q,所述四个索引参数为来自输入图像的训练集合502的输入图像的编码质量因子QF_in、查看缩放因子zV、将在编码器中压缩输出图像时使用的编码质量因子QF_out、以及转码器缩放因子zT。这些索引变量以下述方式生成。输入图像的编码质量因子QF_in在来自输入图像的训练集合502的输入图像中是固有的,并且可以如上所述,在图像提取模块504中从每个图像中提取作为QF(I)并且被量化。也可以更便利地,将图像训练集合划分为围绕给定量化编码质量因子QF_in(例如80%)进行聚类的图像组。查看条件包括如上所述由查看缩放因子zV的不同值所定义的至少三种不同的查看情形。在生成表“N”506时,以下是便利的例如在10%的量化步骤中,生成针对zV的值的范围。因此,质量预测表生成系统500类似于基本系统200,但是其生成转码器质量因子QF_out和转码器缩放因子zV,直接取代了在基本系统200中对它们进行计算以满足设备限制。输入图像的训练集合502将其每个图像作为输入图像“I”发送到图像特征提取模块202、转码模块208、以及质量评估模块210。图像特征提取模块202将输入图像参数“IIP”的集合发送给质量预测表的计算模块504;质量评估模块210将其计算的质量度量QM发送给质量预测表的计算模块504;以及质量预测表的计算模块504通过转码参数对(zT,QFT)控制转码模块208。转码模块208生成输出图像“J”,并将其发送给质量评估模块210。表“N”506最初是空的。对于输入图像的训练集合502的输入图像中的每一个,以及对于查看条件(由查看缩放因子zV表示)的范围中的每一个以及转码器缩放因子zT的范围中的每一个,以及对于编码质量因子QF_out的范围中的每一个,质量预测表生成系统500生成具有最佳质量度量Q的最佳已转码图像(输出图像“J”)。每个计算的每个计算出的最佳质量度量Q(“最佳Q”)以及四个索引值(QF_in,zV,QF_0Ut,以及zT)被发送,以便经由表更新模块508更新表“N”506。由于许多图像将针对相同索引但略微不同的实际值生成最佳质量度量Q的值,所以可以有利地按照类似于上述的StevenPigeon等人的“Kingston”论文中描述的方式,在表更新模块508中收集并处理由质量预测表生成系统500生成的原始数据。以此方式,通过分组和量化数据,针对四个索引值的组合的质量度量的最优LMS(最小均方)估计量可以被计算并存储在质量预测表“N”506中。以下的表2、3和4示出了质量预测表“N”506的实例的二维子表,作为通过根据本发明实施例的质量预测表生成系统500已经计算的示例。缩放z表2缩放z表3缩放z表4表2和3示出了在上述的大型输入图像训练集合503上分别针对查看情形1和2计算的、针对QF_in=80的平均PSNR值的分布。表4示出了针对查看情形3的平均PSNR值,其中查看条件对应于初始图片的90%大小的最大变焦。表2、3和4可被用作为下文描述的改进的转码系统中的质量估计量。在查看情形1(表2)中,将按比例扩大的已转码输出图像与初始输入图像进行比较。转码器缩放因子zT和编码质量因子QF_out二者都影响所度量的质量,不过,如果PSNR相等的话,则由于来自低编码质量因子的块效应(blockingartifact)的原因导致的在初始和已编码图像之间的差将被认为是等于缩放的效果。这似乎是荒谬的,因为块效应比起较平滑的低分辨率图像在视觉上更加令人烦恼。因此,相比于低分辨率、高QF的图像,度量更倾向于高分辨率、低QF的图像。所述比较没有考虑到通过向用户呈现较低分辨率图像所引入的可察觉质量的损失的事实略微抵消了该偏见。在查看情形2(表3)中,以已转码的图像分辨率比较图像。比起编码质量因子,质量估计量更不容易受到缩放的影响,因为两个图像在进行比较之前被按比例缩小到相同分辨率,并且缩放消除了缺陷。而且,由于比起通过编码质量因子QF_out的改变,文件大小通过缩放改变得更多,所以相比于具有较低QF_out的较大图像,更倾向于具有较高QF_out的较小图像。如果将仅以低分辨率查看已转码图像,则这样是合理的,否则对于查看者的损失就太大了。查看情形3(表4)是为适合用户的查看条件被设计的,并且因此将构成更精确的质量估计。质量预测表“N”506可以在较简单的质量感知转码系统(S卩,比基本系统200更简单和更高效)中被有利地使用。图7示出了简单的质量感知图像转码系统(简单系统)600,包括具有处理器和计算机可读存储介质的计算机,所述介质具有存储在其上的计算机可执行指令,所述指令当被处理器执行时,提供类似于基本系统200的模块,但其中通过在质量预测表“N”506中进行简单的表查找来替代用于计算质量因子的在计算上昂贵的迭代,所述质量预测表“N”506被存储在计算机可读存储介质中。简单系统600包括基本系统200的所有相同模块,除了包括质量评估模块210的基本质量确定块209。这些模块(202至208)保持为未改变,其带有与图2中相同的标号,并且具有相同功能。此外,简单系统600包括简单质量确定块602,其包括来自图6的表N506。在简单系统600中,所计算的质量度量QM不是通过质量评估模块生成,而是直接从质量预测表“N”506获得。质量预测表“N”506是构建和生成与图6所述的都相同的表,并且其部分示例在上文中在表2、3和4中描述。质量预测表“N”506由四个参数进行寻址输入质量因子QF_in从图像特征提取模块202获得;查看缩放因子zV,其可以被设为1(查看情形1)或适合于查看条件的其他值;转码器质量因子QFT;以及转码器缩放因子zT。QFT和zT在循环中由质量感知参数选择模块206选择,以搜寻最大QM。这在下面的方法描述中更详细描述。图8是适用于简单系统600的用于在JPEG图像转码中对参数的质量感知选择的预测方法700的流程图。预测方法700包括图4的基本方法400的许多相同的顺序步骤,其带有相同的标号步骤402“获得设备限制”;步骤404“获得输入图像I,,;步骤406“提取图像特征”;步骤408“预测质量和文件大小”;步骤410“初始化参数”;步骤414“验证结果”;以及步骤416“返回图像J,,。取代于图4的步骤412“运行质量感知参数选择和转码循环”,预测方法700包括一个新步骤(插入到步骤410“初始化参数”之后和步骤414“验证结果”之前)步骤702“运行预测质量感知参数选择循环”。图9是示出了预测方法700的步骤702“运行预测质量感知参数选择循环”的扩展的流程图,包括图5的扩展步骤412“运行质量感知参数选择和转码循环”中的某些相同步骤,其带有相同标号并具有相同功能步骤452“获得下一值对”;步骤454*“可得到值对吗?’,;步骤456*“值对可行吗?”;以及步骤458“将I转码为J,,。此外,步骤702“运行预测质量感知参数选择循环”的扩展包括三个新步骤步骤706“从表N获得预测质量度量QM”;步骤708“QM>最佳Q吗?”;步骤710“设置=Q=QM,zT=ζ,QFT=QF_out”。*注意,从图5到图9修改了步骤顺序步骤454的退出“否”分别前进到步骤458(其接下来是函数返回,其中返回已转码的输出图像“J”)。步骤456的退出“是”前进到步骤706。在步骤706“从表N获得预测质量度量QM”中,通过用四个参数索引到表“N”,从表“N”中检索预先计算的质量度量值QM,所述四个参数为在步骤406“提取图像特征”(图8)中获得的输入质量因子QF(I);在步骤408“预测质量和文件大小”中选择的查看缩放因子zV;编码质量因子QF_out;以及转码器缩放因子ζ。步骤706“从表N获得预测质量度量QM”接下来是步骤708"QM>最佳Q吗?”。在步骤708"QM>最佳Q吗?”中,将在之前步骤中获得质量度量QM与迄今为止找到的最高质量度量“最佳Q”进行比较。“最佳Q”在之前步骤410“初始化参数”(图8)中被初始化为零,并且每当如所述比较的结果所指示的找到更高值时被更新。如果比较结果为真(是),则执行继续进行到下一步骤710“设置=Q:=QM,zT=ζ,QFT=QF_out,,,否则,执行循环回到步骤452“获得下一值对”。在步骤710“设置=Q=QM,zT=ζ,QFT=QF_out”中,最高质量度量“最佳Q,,被更新到在步骤706“从表N获得预测质量度量QM”中找到的QM的值。此外,值对(“z”,QF_out)被记录为用于当前图像的最佳转码参数对(zT,QFT)。本段落结束了扩展步骤702“运行预测质量感知参数选择循环”的描述,在此之后,执行继续进行到步骤414“验证结果”(图8)。通过最后的步骤416“返回图像J”(图8),通过把已转码输出图像“J”返回到系统,例如用于存储为输出图像“J”220,用于在JPEG图像转码中对参数进行质量感知选择的基本方法400结束。基本系统600与用于对参数进行质量感知选择的预测方法700由此可以被用于提供质量感知转码器,处理成本比基本系统200低得多,但是因为预测质量度量的不完善性质,无法确保已经找到实际上最佳的转码参数。在基本系统200的基础上,通过用表“N”进行增强,可以构建改进的质量感知转码系统。在此系统中,通过使用表“N”,对于最优质量的搜索可以被显著缩短取代于对于zT和QFT的所有可能的有效组合运行步骤412“运行质量感知参数选择和转码循环”(图4和5)中包含的完整循环,通过首先查阅表“N”可以避免许多循环迭代中昂贵的处理步骤。在步骤412“运行质量感知参数选择和转码循环”的简单变体中,如果来自表“N”的预测质量度量将指示出通过这些步骤中隐含的完整分析不太可能获得比已经找到的更高的质量,则可以略过转码步骤458“将I转码为J”、步骤460“实际大小可以吗?”、以及“质量评估步骤”474(图5)。图10示出了改进的质量感知转码系统(改进系统)800的框图,所述系统800包括具有处理器和计算机可读存储介质的计算机,所述介质具有存储在其上的计算机可执行指令,所述指令当被处理器执行时,提供改进系统800的各个模块。改进系统800通过增加计算机可读介质中存储的表“N”506、以及用改进的质量感知参数选择模块802替换质量感知参数选择模块206,而从基本系统200导出。用于存储表“N”506的装置以及质量评估模块210—起构成了改进的质量确定块804。表“N”506的输出将预测质量度量Qx提供给改进的质量感知参数选择模块802。质量预测表“N”506由与简单系统600中相同的四个索引参数进行寻址输入质量因子QF_in;查看缩放因子zV;转码器质量因子QFT;以及转码器缩放因子zT。如以下图11中的方法描述所示的,在改进的质量感知参数选择模块802中选择QFT和zT。简而言之,改进的质量感知参数选择模块802的功能包括收集可行的值对(ζΤ,QFT)的可行集合“F”806,即满足输入图像“I”和设备限制。值对的集合接着可以根据来自通过值对所索引的质量预测表“N”506的预测质量度量Qx而被排序。接着,实际的质量度量QM在质量评估模块210(如图2的基本系统200中)的帮助下被计算出,但是仅用于预测高预测质量度量Qx的、来自可行集合“F”806的有限数量的值对(zT,QFT)的有希望的子集。图11是适用于改进系统800的在JPEG图像转码中对参数的质量感知选择的改进方法900的流程图。改进方法900包括图4的基本方法400的许多相同的顺序步骤,其带有相同的标号步骤402“获得设备限制”;步骤404“获得输入图像I,,;步骤406“提取图像特征”;步骤408“预测质量和文件大小”;步骤410“初始化参数”;步骤414“验证结果”;以及步骤416“返回图像J,,。取代于图4的步骤412“运行质量感知参数选择和转码循环”,改进方法900包括两个新步骤(插入到步骤410“初始化参数”之后和步骤414“验证结果”之前)步骤902“创建集合“F””;步骤904“运行改进的Q感知参数选择和转码”。图12是示出了改进方法900的步骤902“创建集合“F””的扩展的流程图,其包括与图5的扩展步骤412“运行质量感知参数选择和转码循环”相同的三个步骤,其带有相同标号并具有相同功能步骤452“获得下一值对”;步骤454*“可得到值对吗?”;以及步骤456*“值对可行吗?”。扩展步骤902“创建集合“F””进一步包括新步骤步骤906“创建空的可行集合F”;步骤908“将值对添加到可行集合F”;步骤910“将F排序”;以及步骤912“截断F”。*注意,从图5到图12修改了步骤顺序步骤454的退出“否”前进到函数返回(其中返回可行集合“F”),并且步骤456的退出“是”前进到步骤908。步骤452、454、456和908构成了发起步骤906之后的循环。在906“创建空的可行集合F”中,可行集合“F”806被创建为空的。以下步骤(452至456、908)构成循环,其中多个不同值对被生成(步骤452),检查可用性(步骤454)和可行性(步骤456),并被添加到可行集合“F”806(步骤908)。如果所生成的值对不可行(步骤456的退出“否”),则循环从头再次进入。如果不存在可得到的不同值对(步骤454的退出“否”),则循环退出,并且在步骤910“将F排序”中根据来自通过不同值对所索引的质量预测表“N”506的预测质量度量Qx对可行集合“F”806进行排序。可行集合“F”806现在根据预测质量以降序包含所有合理的值对。在下一步骤(步骤912“截断F”)中,通过移除关联于较低预测质量的值对,可行集合“F”806在末尾被截断,直到仅可定义的数量Cjnax个值对被剩余在可行集合“F”806中为止。图13是示出改进方法900的步骤904“运行改进的Q感知参数选择和转码”的扩展的流程图,其包括与图5的扩展步骤412“运行质量感知参数选择和转码循环”相同的某些步骤,其带有相同标号并具有相同功能步骤458“将I转码为J,,;步骤460“实际大小可以吗?,,;步骤462“解压缩J,并利用zR缩放为X”;步骤464“解压缩I,并利用zV缩放为Y”;步骤466“计算度量QM=PSNR(X,Y)”;步骤468"QM>最佳Q吗?”;步骤470“设置最佳Q:=QM,最佳图像=J”;以及步骤472“设置J=最佳图像,,。扩展步骤904“运行改进的Q感知参数选择和转码”进一步包括新步骤步骤914“F为空吗?”;步骤916“从F获得最高值对”;以及步骤918“从F移除最高值对”。扩展步骤904“运行改进的Q感知参数选择和转码”构成与基本系统200的循环相类似的循环,用于找到最佳图像,即,具有通过质量评估步骤474所评估的最佳质量的图像(步骤462至466的序列)。取代于针对所有可行的值对运行循环(如基本方法400中那样),改进方法900的循环被限制为可行集合“F”806中的值对。应理解,步骤910“将排序F”和912“截断F”提供了这样的机制,通过该机制,将进行转码和质量评估的值对的数量可以被限于具有较高的预测质量度量的那些对。在步骤914“F为空吗?”进入循环。在步骤914“F为空吗?”中,检查可行集合“F”806。如果其为空的(步骤914的退出“是”),则循环退出,执行跳到步骤472“设置J:=最佳图像”,并且扩展步骤904“运行改进的Q感知参数选择和转码”退出(返回“J”)。在步骤916“从F获得最高值对”中,与最高预测质量度量对应的值对(“最高值对”)被从可行集合“F”806拷贝到转码器值对(zT,QFT)。在步骤918“从F移除最高值对”中,从可行集合“F”806中移除“最高值对”,并且执行进行到下一步骤458“将I转码为J”。类似于基本方法400,随后的步骤评估质量度量,保存最佳质量度量和最佳图像,并且跳回到循环的开始(在步骤914)。对图12中的可行集合“F”806进行排序和截断的效应可以在下文中看到。如果可行集合“F”806未被截断,仅被排序,则将仅仅以预测质量的顺序评估(转码和质量评估)所有值对。这将导致与基本方法200所找到的相同的最佳图像,而不存在处理成本的收益。截断可行集合“F”806在集合中留下数量C_max个值对。由于集合被首先排序,这些Cjnax个值对将是被预测为产生最有希望的质量度量的值对。因此,与基本方法相比,较少的值对将被完整评估,从而节省了本来应该(在基本系统200中)被花费于评估产生较低质量的值对的处理。如果Cjnax被设为一(1),则仅一个值对将被完整评估,但是不管实际的评估质量如何,所得出的最佳图像将与通过简单系统600的预测方法700所找到的相同。因此,C_max应该被设为大于一的值,因为最高预测质量不一定是实际最高质量。将C_max的值设为五(5)已经被发现能够给出良好结果,并且很可能包括实际最佳值对。可替换地,我们可以设置质量阈值。当预测质量度量比起迄今为止获得最佳预测质量度量小于给定界限(例如3dB)时,则我们可以停止。在另一修改方案中,对集合“F”排序可以如下完成1)对于每个可行的缩放值“z”,在可行集合“F”中找到具有最佳预测质量值的值对。假定存在P个这样的值对(即,我们找到针对Z=10%的最佳值对,接着找到针对ζ=20%的最佳值对,等等);2)将步骤1中获得的P个值对从最高预测质量值到最低进行排序。这些值对将被插入到可行集合“F”的开头;3)接着将从最高预测质量值到最低获得的其余值对进行排序。这些值对将被插入到可行集合“F”中的之前P个值对之后。按照前述步骤继续进行,直到C_max>=P。图14A和14B中示出的图表示出了排序后在可行集合“F”中记录的质量度量值(PSNR)的图像表示。图14A示出了针对zV=0.7的已排序PSNR值的示例,而图14B示出了针对zV=0.7以及sjiiax=0.7以及与图14A相同的图像的已排序PSNR值的示例。图15是质量预测表生成方法1000的流程图,其示出了质量预测表生成系统500(图6)的功能。质量预测表生成方法1000包括与图4和图5的基本方法400相同的某些步骤,其带有相同标号并具有相同功能,即,步骤406、458和474。质量预测表生成方法1000以下步骤步骤1002“初始化N(QF_in,zV),,;步骤1004“可得到QF(I)=QF_in的另外的图像吗?,,;步骤1006“获得下一图像“I,,”;步骤406“提取图像特征”;步骤1008“在值对(z,QF_out)范围内设置用于循环的参数”;步骤1010“获得第一值对(z,QF_out),,;步骤458“将I转码为J”;步骤474“质量评估步骤”;步骤1012“更新N(QF_in,ζV),,;步骤1014“可得到另外的值对(z,QF_out)吗?”;以及步骤1016“获得下一值对(z,QF_out)”。如前所述,质量预测表“N”506(图6)是四维表,并且包含由四个索引参数所索引的质量度量Q来自输入图像的训练集合502的输入图像的编码质量因子QF_in、查看缩放因子zV、将在编码器中压缩输出图像时使用的编码质量因子QF_out、以及将在转码器中压缩输出图像时使用的缩放因子“ζ”。图14中所示的是质量预测表生成方法1000,其被限于生成质量预测表“N”的子表,S卩,N(QF_in,zV),即,针对输入编码质量因子QF_in的一个值以及查看缩放因子zV的一个值的子表(sub_table)。针对QF_in和zV的其他值的整个质量预测表“N”可以通过针对QF_in和zV的这些其他值重复质量预测表生成方法1000的步骤而生成。在步骤1002“初始化N(QF_in,zV)”中,子表N(QF_in,zV)被清除为零。在步骤1004“可得到QF(I)=QF_in的另外的图像吗?”中,确定是否在图像训练集合502(图6)中可得到具有输入编码质量因子QF(I)=QF_in的任意另外的图像。如果没有这样的图像可得到(即,所有这样的图像已经被处理),则所述确定的结果为“否”,并且质量预测表生成方法1000以已构成的子表N(QF_in,zV)退出,否则,执行继续进行到步骤1006“获得下一图像“I””。在步骤1006“获得下一图像“I””中,从图像训练集合502获得下一图像,以使其成为输入图像“I”。在步骤406“提取图像特征”中,输入图像“I”的特征(诸如宽度和高度)被确定,如前所述(图4)。在步骤1008“在值对(z,QF_out)的范围内设置用于循环的参数”中,准备在值对(z,QF_out)范围内的每一图像的循环1018,S卩,每一图像的循环1018包括步骤1010、458、474、1012、1014、以及1016。每一图像的循环1018针对来自集合{K,2*Κ,3*K,...,100%}的缩放因子“ζ”以及来自集合{L,2*L,3*L,...,100}的输出质量因子QF_out的每种组合运行,其中增量“K”和“L”例如可以被选择为K=10%,L=10。通过这些值计算以上表2至4。“ζ”和QF_out的组合被称为值对(z,QF_out)。在步骤1010“获得第一值对(z,QF_out)”中,第一值对(z,QF_out)被确定,例如(ζ=10%,QF_out=10)。在步骤458“将I转码为J”中,利用转码参数zT=“ζ”以及QFT=QF_out,输入图像“I”被转码为输出图像“J”,如前所述(图5)。在步骤474“质量评估步骤”中,转码的质量度量被如前所述(图5)地确定。在步骤1012“更新N(QF_in,zV)”中,在由值对(z,QF_out)所索引的表位置,用质量度量更新子表N(QF_in,zV),更精确地说,位于该表位置的预测质量度量用位于同一表位置的来自所有图像的质量度量值的简单平均来更新。在步骤1014“可得到另外的值对(z,QF_out)吗?”中,确定是否可得到缩放因子“ζ”和输出质量因子的任QF_out意另外的组合。如果没有不同的值对(z,QF_out)可得到(即,所有组合已经被处理),则所述确定的结果为“否”,并且每一图像的循环1018退出到步骤1004“可得到QF(I)=QF_in的另外的图像吗?”,以找到并开始处理来自图像训练集合502的下一图像,否则(“是”),每一图像的循环1018的执行继续进行到步骤1016“获得下一值对(z,QF_out)”。在步骤1016“获得下一值对(z,QF_out)”中,确定下一值对(z,QF_out)。如前所述,图像训练集合502可以包括许多图像,其可能针对同一值对索引生成最佳质量度量的略微不同的实际值。在此处所述的质量预测表生成方法1000中,计算出的质量度量被用于以未进一步指定的方式直接更新质量预测表“N”506。优选地,以类似于上述的StevenPigeon等人的“Kingston”论文中描述的方式来收集和处理由质量预测表生成方法1000生成的原始数据。以此方式,通过分组和量化数据,以及进一步的统计处理,质量度量的最优LMS(最小均方)估计量可以被计算并存储在质量预测表“N”506中。本发明实施例的系统和方法以下述方式提供了对于转码的改进,所述方式考虑了缩放、压缩文件大小限制、以及图像质量。可以理解,尽管参考JPEG编码图像描述了本发明的实施例,但是其原理也适用于用其它格式编码的数字图像的转码,例如当在松散压缩模式下使用时的GIF(图形交换格式)和PNG(便携式网络图形)。本发明实施例的系统可以包括具有CPU和计算机可读介质(例如存储器)的通用或专用计算机,或者可替换地,所述系统可以用固件、或固件和专用计算机的结合实现。在本发明实施例中,质量预测表是由4个参数进行索引的四维表。可以理解,质量预测表通常可以是多维表,其由任意所需数量的参数所索引,其数量大于或小于四。还提供了在其上存储计算机可读指令的计算机可读介质,诸如DVD、⑶-ROM、软盘(例如非易失性存储器),所述指令当被处理器执行时执行本发明实施例的方法步骤。尽管已经详细描述了本发明的实施例,但是对于本领域技术人员将很明显,可以在以下权利要求的范围内做出对实施例的变体和修改。权利要求一种用于针对具有文件大小和图像大小限制的终端将输入图像转码为输出图像的图像转码系统,所述系统包括具有计算机可读存储介质的计算机,所述介质具有存储在其上的计算机可执行指令,所述指令当被所述计算机执行时提供以下图像特征提取模块,用于确定所述输入图像的尺寸、文件大小、和编码质量因子QF(I);转码模块,用于利用转码参数将所述输入图像转码为输出图像,所述转码参数包括转码器缩放因子zT和转码器质量因子QFT;质量确定块,用于确定所述转码的质量度量;质量和文件大小预测模块,用于确定作为所述转码参数的函数的所述输出图像的相对输出文件大小;以及质量感知参数选择模块,用于确定最优转码参数,以满足与所述输出图像的最高质量对应的最大相对文件大小以及质量度量。2.根据权利要求1所述的图像转码系统,其中所述转码模块包括解压缩模块,用于解压缩所述输入图像;缩放模块,用于利用所述转码器缩放因子zT缩放已解压缩的输入图像;以及压缩模块,用于利用所述转码器质量因子QFT压缩已解压缩和已缩放的输入图像。3.根据权利要求2所述的图像转码系统,其中所述质量感知参数选择模块包括计算装置,用于选择小于从所述输入图像的尺寸和所述终端限制中确定的最大缩放因子的缩放因子zT与所述转码器质量因子QFT的可行结合,所述可行结合导致了遵守所述最大相对文件大小的相对输出文件大小;以及计算装置,用于迭代地选择不同值对(zT,QFT),直到找到与所述输出图像的最高质量对应的质量度量为止。4.根据权利要求1至3中任一项所述的图像转码系统,其中所述质量确定块包括质量预测表,用于查找作为所述质量度量的预测质量度量,所述质量预测表包括指示由以下参数所索引的预测质量度量的多个表条目输入质量因子QF_in,其等于所述输入图像的编码质量因子QF(I);查看缩放因子zV,其可以被设置为等于所述转码器质量因子zT或适于所述输出图像的查看条件的另一值;转码器质量因子QFT;以及转码器缩放因子zT。5.根据权利要求4所述的图像转码系统,其中所述质量预测表包括指示所述预测质量度量的多个表条目,其由查看缩放因子τΝ进一步索引,所述查看缩放因子zV被设置为等于所述转码器缩放因子zT和所述最大缩放因子之间的范围内的值。6.根据权利要求2至5中任一项所述的图像转码系统,其中所述质量确定块包括质量评估模块,用于明确地计算所述质量度量,所述质量评估模块包括解压缩(R)模块,用于解压缩所述输出图像;缩放(zR)模块,用于通过再缩放因子zR缩放已解压缩的输出图像;解压缩(V)模块,用于解压缩所述输入图像;缩放(zV)模块,用于通过所述缩放因子zV缩放已解压缩的输入图像;以及质量计算模块,用于从已解压缩和已缩放的输出图像和已解压缩和已缩放的输入图像计算所述质量度量。7.根据权利要求4至6中任一项所述的图像转码系统,其中所述质量感知参数选择模块包括存储装置,用于(zT,QFT)的可行组合的可行集合“F”;计算装置,用于根据从所述质量预测表获得的预测质量度量将所述可行集合“F”的条目排序;计算装置,用于创建所述可行集合“F”的有希望的子集;计算装置,用于迭代地从所述有希望的子集中选择不同的值对(zT,QFT),以及通过所述质量评估模块计算对应的质量度量,直到所述质量度量为最优的为止。8.根据权利要求1至7中任一项所述的图像转码系统,其中所述质量度量基于所述输出图像与所述输入图像相比的度量。9.根据权利要求8所述的图像转码系统,其中所述度量是以下之一所述输出图像与所述输入图像相比的峰值信噪比(PSNR)度量,或者所述输出图像与所述输入图像相比的最大差(MD)度量。10.根据权利要求1至9中任一项所述的图像转码系统,其中所述输入图像和所述输出图像是联合摄影专家组(JPEG)图像。11.一种用于将输入图像质量感知转码为输出图像的方法,所述输出图像用于在具有设备文件大小和图像大小限制的终端上显示,所述方法包括以下步骤(a)获得所述终端的限制;(b)获得所述输入图像;(c)提取所述输入图像的特征,包括所述输入图像的尺寸和文件大小;(d)通过所述终端的限制和所提取的特征预测所述输出图像的文件大小;(e)选择可行转码参数的集合,以满足所述终端的限制;(f)通过所选择的可行的转码参数将所述输入图像转码为输出图像;(g)确定所述输出图像的质量度量;以及(h)重复步骤(e)至(g),直到对应于所述输出图像的最高质量的质量度量被找到为止。12.根据权利要求11所述的方法,其中所述步骤(d)包括从所述输入图像的图像大小和尺寸确定最大缩放因子zjiiax;以及从所述设备文件大小和所述输入图像的文件大小确定最大相对文件大小。13.根据权利要求12所述的方法,其中所述步骤(e)包括选择可行的转码参数值对,每个值对包括不超过所述最大缩放因子zjiiax的转码器缩放因子zT,以及被选择为使得预测相对输出文件大小不超过所述最大相对文件大小的转码器质量因子QFT。14.根据权利要求13所述的方法,其中所述步骤(c)包括提取所述输入图像的编码质量因子QF(I),以及所述步骤(e)包括预测作为所述编码质量因子QF(I)、所述转码器缩放因子zT、以及所述转码器质量因子QFT的函数的所述相对输出文件大小。15.根据权利要求13至14中任一项所述的方法,其中所述步骤(g)包括(i)解压缩所述输入图像,并通过查看缩放因子zV对其进行缩放,以产生第一中间图像,其中介于zT和单位一之间的查看缩放因子zV是基于预期的所述输出图像的查看条件被选择的;()解压缩所述输出图像,并通过再缩放因子zR对其进行缩放,以产生第二中间图像,其中zR被计算为zR=zV/zT;以及(iii)基于所述第二中间图像与所述第一中间图像相比的度量计算所述质量度量。16.根据权利要求11至15中任一项所述的方法,其中所述步骤(e)包括使用质量预测表来查找所述质量度量,所述质量预测表由所述可行转码参数所索引。17.根据权利要求16所述的方法,其中所述步骤(g)包括从由以下索引中的两个或两个以上所索引的多维质量预测表读取所述质量度量(索引1)所述输入图像的输入质量因子QF(I);(索引2)介于zT和单位一之间的查看缩放因子zV,其基于预期的所述输出图像的查看条件被选择;(索引3)所述解码器质量因子QFT;以及(索引4)所述解码器缩放因子zT。18.根据权利要求17所述的方法,其中所述步骤(g)包括针对所述索引中的至少一个在所述质量预测表的条目之间进行内插。19.根据权利要求11至18中任一项所述的方法,其中所述步骤(g)包括基于所述输出图像与所述输入图像相比的度量计算所述质量度量。20.根据权利要求19所述的方法,其中所述度量是以下之一所述输出图像与所述输入图像之间的峰值信噪比(PSNR)度量,或者所述输出图像与所述输入图像之间的最大差(MD)度量。21.一种计算机可读介质,包括存储于其上的计算机可读指令,所述指令当被处理器执行时用于执行权利要求11至20的任一个所述的方法的步骤。全文摘要描述了若干种质量感知转码系统和方法,其中相结合地考虑质量因子(QF)和缩放参数选择对已转码图像的质量的影响。基本转码系统通过添加质量预测查找表而得到增强,并且还示出了一种生成所述表的方法。文档编号H04N7/50GK101842812SQ200880113575公开日2010年9月22日申请日期2008年7月16日优先权日2007年11月2日发明者J-F·弗朗什,S·库隆布,S·皮金申请人:高等技术学校
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1