CN101176351A - 动态缩放文件编码 - Google Patents

动态缩放文件编码 Download PDF

Info

Publication number
CN101176351A
CN101176351A CNA2006800170222A CN200680017022A CN101176351A CN 101176351 A CN101176351 A CN 101176351A CN A2006800170222 A CNA2006800170222 A CN A2006800170222A CN 200680017022 A CN200680017022 A CN 200680017022A CN 101176351 A CN101176351 A CN 101176351A
Authority
CN
China
Prior art keywords
file
scale factor
encoded
initial
divergent
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2006800170222A
Other languages
English (en)
Other versions
CN101176351B (zh
Inventor
刘石忠
潘·L·杜
威廉·伊-明·黄
查尔斯·S·韩
苏海勒·贾利勒
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN101176351A publication Critical patent/CN101176351A/zh
Application granted granted Critical
Publication of CN101176351B publication Critical patent/CN101176351B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/192Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/41Bandwidth or redundancy reduction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/115Selection of the code volume for a coding unit prior to coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/149Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/15Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/18Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a set of transform coefficients
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

本发明揭示一种动态缩放的文件编码方法和设备。使用JPEG编码的文件编码系统可经配置以不论初始文件大小和文件内容如何都产生相对恒定的压缩文件大小。所述系统检索待压缩的初始文件或图像,并确定对应于所述压缩文件的目标位率。用所述目标位率来确定初始缩放因数。用JPEG编码器对所述初始文件进行编码,所述JPEG编码器具有缩放了所述初始缩放因数的系数。如果所得位率大于需要的位率,那么可在第二循环中调整所述所得位率。为了调整所述位率,可根据所述所得位率来确定重新计算的缩放因数。接着,用缩放了所述重新计算的缩放因数的系数对所述初始文件进行编码,以便实现在所述目标位率以内的位率。

Description

动态缩放文件编码
技术领域
本发明涉及电子文件压缩领域。更确切地说,本发明涉及通信系统中对电子文件压缩的动态确定。
背景技术
无线通信系统已经从专用于承载语音通信的系统演化成经配置成支持高数据率的第三代(3G)系统。由此,越来越多地使用无线通信系统来分配数据和信息。通过无线通信系统分配的数据和信息通常包含在较大的数据文件内。无线通信系统(例如蜂窝式电话系统)已经演化成可处理正通过系统传输的大量数据。无线通信系统通常配置有发送或接收数据文件的能力。数据文件可包含铃声文件(ring tone file)和图片文件。
但是,即便在3G系统中,通过无线系统高效地传输数据和信息也是一个优先考虑的因素,因为无线通信系统通常限于在主管机构分派的固定带宽或频谱内操作。
举例来说,对于迅速发展的3G无线业务而言,数码相机电话(digital camera phone)在我们的日常生活中变得越来越普及。人们可以通过高级3G无线网络即时交换数码图像。然而,由于每个图像的数据量庞大,所以无线运营商通常会限制每个压缩图像的文件大小(如100KB),以便高效地使用宝贵的无线带宽。数码相机可以很容易捕捉到超过业务提供商所强加的限制条件的图像。因此,在手机通过无线网络发送图片之前,可能必须确保图片文件大小不超过无线运营商强制执行的限度。
装置(例如无线手机)可能带有文件压缩功能,以便有助于符合系统提供商所强加的文件大小限制。然而,文件压缩和所得的压缩比率可能取决于文件的内容。两个初始大小完全相同的文件可能会产生不同的压缩文件大小,原因在于编码算法对于文件内容具有敏感性。因此,需要具有一种能够始终产生一种压缩文件大小并且对于文件内容或原始文件大小相对不敏感的文件编码技术。
发明内容
本发明揭示一种动态缩放文件编码方法和设备。使用联合图像专家组(JointPhotographic Experts Group,JPEG)编码的文件编码系统可经配置以不论初始文件大小和文件内容如何都产生相对恒定的压缩文件大小。所述系统检索待压缩的初始文件或图像,并确定对应于所述目标压缩文件大小的目标位率。用所述目标位率来确定初始缩放因数。用JPEG编码器对所述初始文件进行编码,所述JPEG编码器具有缩放了所述初始缩放因数的系数。如果所得的位率大于或远远小于目标位率,那么可根据所得的位率导出新的缩放因数。接着,用缩放了所述新缩放因数的系数对所述初始文件进行编码,以便实现在所述目标位率以内的位率。
所述方法和设备的一个方面包含编码系统。所述系统包含:编码器,其经配置以使用缩放了缩放因数的量化参数对源文件进行编码,以便产生目标文件大小小于源文件的文件大小的经编码文件;以及缩放模块,其经配置以部分地基于目标文件大小和源文件的文件大小来确定编码器所使用的缩放因数。
另一方面针对一种编码系统,其包含:JPEG编码器,其经配置以对捕捉到的图像文件进行编码,以便产生经编码的图像文件,所述JPEG编码器使用缩放了缩放因数的量化参数对捕捉到的图像文件的至少AC位进行编码;以及缩放模块,其耦合到所述JPEG编码器,且经配置以部分地基于目标文件大小和捕捉到的图像文件中的像素的数目来确定初始缩放因数,且其中所述JPEG编码器经配置以使用缩放了初始缩放因数的量化参数对捕捉到的图像文件的AC位进行编码,以便产生初始经编码文件,且其中所述缩放模块部分地基于初始经编码文件的文件大小来确定缩放因数。
另一方面进一步针对一种对文件进行缩放以产生文件大小小于文件大小限制的经编码文件的方法,所述方法包含:确定目标位率;确定初始缩放因数;使用缩放了所述初始缩放因数的量化参数对源文件进行编码,以便产生初始经编码文件;确定经修改的位率;确定缩放因数;以及使用缩放了所述缩放因数的量化参数对所述源文件重新进行编码,以便产生经编码的文件。
另一方面针对一种编码系统,其包含:编码器,其经配置以使用缩放了缩放因数的量化参数对源文件进行编码,以便产生目标文件大小小于源文件的文件大小的经编码文件;以及缩放模块,其经配置以部分地基于率失真曲线来确定编码器所使用的缩放因数,根据由编码器产生的初始经编码文件来确定所述率失真曲线。
另一方面针对一种对文件进行缩放以产生文件大小小于文件大小限制的经编码文件的方法,所述方法包含:使用初始量化表对源文件进行编码,以便产生初始经编码文件;基于所述初始经编码文件确定率失真曲线;部分地基于所述率失真曲线确定缩放因数;通过使所述初始量化表缩放所述缩放因数来确定经缩放的量化表;以及使用所述经缩放的量化表对源文件重新进行编码,以便产生经编码的文件。
附图说明
通过下文陈述的详细描述将更容易了解本发明实施例的特征、目标和优点,所述描述是结合附图作出的,在附图中,相同元件具有相同参考标号。
图1是无线通信系统的实施例的功能框图,所述无线通信系统包含经配置以执行文件编码的动态缩放的通信装置。
图2是用于动态缩放文件编码的方法的实施例的流程图。
图3是用于动态缩放文件编码的方法的实施例的流程图。
图4A-4B是用于动态缩放文件编码的方法的实施例的流程图。
图5是经量化的非零DCT输出的直方图。
图6是率失真曲线的实例的曲线图。
图7是基于经量化的DCT系数确定缩放因数的图示说明。
具体实施方式
无线通信系统内的装置可包含用于通过文件编码的缩放方面来动态地缩放文件大小的设备和方法。例如由相机捕捉到的图像的文件的大小可部分地通过用来界定图片的像素的数目来确定。图像像素宽度和像素高度可表征图像的空间尺寸。基于图像的空间尺寸,还可用位/像素来将文件大小表示为位率。可将文件大小控制看作与位率控制相同的问题。
由于JPEG压缩是用来压缩源图像的最普及的图像压缩方法之一,所以本发明集中于JPEG率控制问题。在JPEG标准中,通过量化参数来控制编码位率(位/像素)。在编码器中所执行的离散余弦变换(Discrete Cosine Transform,DCT)过程中所使用的矩阵中提供量化参数。通常,量化参数越大,所得文件中的位率越低。
基于广泛的心理-视觉阈值实验,JPEG标准推荐两种标准量化表,分别用Q0和Q1表示,其中Q0针对亮度组成部分,且Q1针对色度组成部分。下文在表1中提供所述标准量化表。
虽然这些表可能不是对任何特定应用都是理想的,但其已用于一般的每份样本8位的图像压缩,并获得良好的结果。重要的是应注意,如果表中的值除以2,那么重新构造的JPEG图像通常几乎与原始图像毫无区别。
16 11  10 16  24  40  51  61    17 18 24 47 99 99 99 99
12 12  14 19  26  58  60  55    18 21 26 66 99 99 99 99
14 13  16 24  40  57  69  56    24 26 56 99 99 99 99 99
14 17  22 29  51  87  80  62    47 66 99 99 99 99 99 99
Q0=18 22 37 56  68  109 103 77    Q1=99 99 99 99 99 99 99 99
    24 35 55 64  81  104 113 92        99 99 99 99 99 99 99 99
    49 64 78 87  103 121 120 101       99 99 99 99 99 99 99 99
    72 92 95 98  112 100 103 99        99 99 99 99 99 99 99 99
表1量化表
在一个实施例中,对图像文件进行的JPEG编码可在逐图像基础上实施量化参数的优化。为了以给定位率对特定图像进行编码,可重新设计量化表,使其与给定图像的统计特性匹配,使得可针对给定目标位率获得最好的图像质量。然而,由于优化过程的计算复杂性较高,所以可能使其无法成为实用的解决方案,特别是对于那些计算马力(computing horsepower)有限且具有低延迟要求的应用来说。
在替代实施例中,装置可用推荐的量化表来对JPEG编码器进行初始化,并且可通过对量化表Q0和Q1进行缩放来导出新的量化表。因此,对于第二实施例中的每个图像文件来说,装置确定出新的量化表Q0′=Q0/S和Q1′=Q1/S,其中S是缩放因数,其对应于给定的位率。
因此,第二实施例中的问题可归纳为一个问题:针对给定的位率估计缩放因数S,使得用新的量化表Q0’和Q1’进行压缩的JPEG图像的编码位率满足给定的位率。所揭示的方法和设备包含一种由模型驱动的算法,用以针对给定的目标位率估计缩放因数S。所述方法和设备使用一种普通的多项式模型来模拟每个像素的AC位与缩放因数S之间的关系。所述方法和设备进一步经配置以使所述普通模型适合于任何特定图像,使得可针对正接受处理的每个图像文件准确地导出用于每个像素的给定目标AC位的缩放因数S。
图1是无线通信系统100的实施例的功能框图,所述系统具有至少一个用户终端170,所述用户终端170经配置以缩放文件编码,以便将文件大小减少到大约为预定的文件大小。在带宽有限的无线通信系统100中,编码器的动态缩放可能特别有利。然而,所述方法和设备并不局限于在无线通信系统100中的应用,而是还可应用于有线系统。
所述系统包含一个或一个以上可与移动台110通信的固定元件。举例来说,移动台110可以是经配置以根据一个或一个以上通信标准操作的无线电话。举例来说,所述一个或一个以上通信标准可包含GSM、WCDMA和CDMA2000(包含1x EV-DO、IX EV-DV和CDMA2000 3x)。移动台110可以是便携式单元或移动单元,并且无需连续移动,而是可以在某些时间段内是静止的。移动台110还可称为移动单元、移动终端、用户终端、用户设备、便携式设备、电话等。
移动台110通常与一个或一个以上基站120通信,此处将基站描绘成分区蜂窝式塔(sectored cellular tower)。移动台110通常将与在移动台110内的接收器处提供最强的信号强度的基站120通信。虽然图1只展示了一个基站120,但无线通信系统100通常具有多个基站,所述基站经配置以在系统覆盖区域上提供覆盖。
基站120可耦合到基站控制器(BSC)130,所述BSC 130将通信信号路由到适当的基站(如120)并从适当的基站路由通信信号。BSC 130耦合到移动交换中心(MobileSwitching Center,MSC)140,MSC 140可经配置以充当移动台110与公共交换电话网络(Public Switched Telephone Network,PSTN)150之间的接口。因此,MSC 140还耦合到PSTN 150。MSC 140还可经配置以协调与其它通信系统的系统间交接。
通信装置160可连接到PSTN 150,且可与正与基站120通信的无线装置通信。将通信装置160描绘成具有显示器的计算机。然而,通信装置160可以是计算机、电话、终端等。
用户终端170也可与基站120通信。用户终端170可以是移动台、移动单元、移动终端、用户设备、便携式设备、电话、配备有无线调制解调器的计算机或计算装置、计算机、服务器、个人数字助理等,或其它某种通信装置。用户终端170包含收发器172,所述收发器172经配置以发射和接收与基站120进行的无线通信。用户终端170还可包含处理器176和存储器178。存储器178能以可由处理器176执行的软件的形式存储一个或一个以上处理器可读指令。举例来说,结合存储在存储器178中的指令的处理器176可对耦合到和来自收发器172的信号执行基带处理。用户终端170还可包含显示器174,所述显示器174经配置以充当用户界面。
用户终端170还可包含相机180,所述相机180可经配置以捕捉图像。可将捕捉到的图像存储在存储器178中,以便在显示器174上观看,或者传递到与无线通信系统100耦合的目的地装置。
编码器182可经配置以对捕捉到的图像进行编码,以便产生具有特定格式的文件。此外,编码器182可经配置而以对文件大小进行压缩的方式对捕捉到的图像文件进行编码。举例来说,编码器182可经配置以对存储在存储器178中的捕捉到的图像文件执行JPEG编码。
用户终端170还可经配置以包含缩放模块184,所述缩放模块184结合编码器182而操作,以便将经编码的图像文件压缩到所要的文件大小。举例来说,用户终端170可使用相机180来捕捉图像,且捕捉到的图像中的每一个图像都可视图像文件的分辨率而具有不同大小。用户终端170还可经配置以将图像文件传送到另一与无线通信系统1 00耦合的装置。举例来说,用户终端170可将捕捉到的图像文件传送到移动台110或耦合到PSTN 150的通信装置160。
无线通信系统100可对通过系统传递的文件大小设定限制。可能为了节省系统上可供使用的可用带宽的量而实施系统文件大小限制。
因此,用户终端170可在通过无线通信系统100传输捕捉到的图像之前,使用编码器182来压缩捕捉到的图像。然而,经配置以提供JPEG编码的编码器182会视图像文件而定产生不同的经编码文件大小。两个具有几乎相同大小的图像文件可能会产生不同的经编码图像大小。此外,使用标称JPEG量化表的编码器182可能不会充分地压缩捕捉到的图像文件,使得经压缩的图像文件小于无线通信系统所强加的文件大小限制。
因此,缩放模块184可结合编码器182操作,以便产生满足文件大小限制的压缩图像文件。缩放模块184首先根据目标文件大小来确定初始缩放因数,接着,编码器182使用所述初始缩放因数对捕捉到的图像文件进行编码。缩放模块184可确定编码器182对捕捉到的图像文件所执行的初始编码是否产生在预定文件大小限制内的压缩图像文件。如果是,那么缩放模块184无需修改编码器182用来压缩捕捉到的图像文件的量化参数。
如果缩放模块184确定经压缩的图像文件大于或远远小于预定文件大小,那么缩放模块184基于来自编码器182的所得位率重新计算新的缩放因数。接着,缩放模块184可指令编码器182使用新的缩放因数对捕捉到的图像文件重新进行编码。缩放模块184部分地基于编码过程的特征来确定缩放因数。举例来说,编码器182可实施JPEG编码,且缩放模块184可使用对JPEG文件格式的认识来为JPEG量化参数确定缩放因数。
在用户终端170中明确展示编码器182和缩放模块184,但编码器182和缩放模块184还可存在于图1所示的一个或一个以上其它装置或模块中。举例来说,无线通信系统100可在基站控制器130中实施编码器182和缩放模块184,以确保基站120所广播的所有图像文件都不超过文件大小限制。在其它实施例中,移动台110和通信装置160可配置有编码器182和缩放模块184。
虽然将JPEG编码器和缩放模块描绘成截然不同的模块,但所述模块所执行的功能中一些或全部功能可由处理器176来执行,所述处理器176依据存储在存储器178内的指令而操作。此外,可将一个或一个以上所述模块的功能整合到单个模块中,或者可通过多个截然不同的模块来执行单个模块的功能。
在JPEG文件中,位流主要包括以下组成部分:JPEG标题位,其中包含霍夫曼表(Huffman table)和量化表以及JPEG标准中指定的其它可选标题;对DC组成部分进行编码的DC位;对AC组成部分进行编码的AC位;以及块结束(End of Block)位。JPEG标题位和块结束位的数目通常是固定的,且在编码之前已知。DC位的数目通常是JPEG位流的一小部分,并且不会随着应用于量化参数的不同缩放因数而显著变化。
在一个实施例中,不对DC量化参数进行缩放,并且DC位的数目不会基于缩放因数而变化。在其它实施例中,可对DC量化参数进行缩放,以便能略微改进经编码文件大小。
AC位代表JPEG位流的较大部分,并且AC位的数目可能随着不同的缩放因数而显著变化。因此,一旦了解AC位的数目与缩放因数之间的关系,就为JPEG位率控制奠定了基础。在以下论述中,“R”代表每个像素的AC位的数目。
为了表征缩放因数(S)对捕捉到的图像的JPEG编码的影响,产生若干具有不同特征的图像。用不同的缩放因数对各个图像进行编码。标绘并比较每个样本图像的R-S曲线。
已经观察到,R-S曲线在不同图像之间会显著变化。然而,对于S=0来说,缩放后的量化值在Q0’和Q1’中都是无穷大。因此,所有的经量化的AC系数都将是零,这意味着R=0。由此,所有R-S曲线都经过原点(0,0)。此外,已经确定,所有曲线都可通过以下多项式来模拟并具有合理的误差:
S=AR2+BR
其中A和B是常系数,R是每个像素的AC位,S是缩放因数。
通过使用所有测试图像中的所有A和B值的中值,用R-S曲线的多项式模型来计算普通R-S模型。因此,获得以下值:A=0.6869,B=1.5825。导出的普通R-S模型为:
S=0.6869R2+7.5825R
然而,R-S曲线可能在不同图像之间显著变化。因此,当用普通R-S模型来估计应用于任何特定图像的缩放因数S时,所述模型的估计准确性可能会较差。可以在两次通过过程中对普通R-S模型进行调适,以便改进特定图像的缩放因数(S)估计的准确性。
图2是用于动态缩放文件编码的方法200的实施例的流程图。方法200可在图1所示的用户终端170中(特别是在缩放模块184和编码器182中)中实施。
实施所述方法200的缩放模块和编码器执行两次通过JPEG位率控制算法。在图2的方法200中,不在所述算法中对Q0和Q1两者中的DC量化参数进行缩放。然而,在其它实施例中,还可对DC参数进行缩放。举例来说,缩放模块和编码器可使用与针对AC参数所使用的缩放因数相同的缩放因数且在相同时间对DC参数进行缩放。或者,可对DC参数应用截然不同的方法和缩放因数。
方法200在方框202处开始,其中,(例如)缩放模块184中的用户终端170确定缩放因数模型,所述模型可以是多项式模型。如上所述,可通过研究或模拟捕捉到的图像文件来确定多项式模型。可在制造时或在供应以便供缩放模块184和编码器182存取期间,预定这种根据经验导出的多项式模型并将其加载到存储器178中。
接着,缩放模块可在方框210中确定目标位率。缩放模块可(例如)基于捕捉到的图像文件中的像素的数目来确定目标位率。在另一实施例中,缩放模块可至少部分地基于捕捉到的图像的分辨率而从一组预定的目标位率中选出一个目标位率。在其它实施例中,例如在相机局限于单个分辨率的那些实施例中,目标位率可固定并存储在存储器中。
接着,缩放模块使用多项式模型在方框220中确定缩放因数。在已界定了对目标位率的选择的实施例中,也可预定相关的缩放因数。如果是基于捕捉到的图像文件来确定目标位率,那么可将目标位率用作缩放因数模型中的变量,以确定适当的缩放因数。
在确定了初始缩放因数之后,缩放模型可向编码器提供缩放因数,或者可使用所述缩放因数产生一个或一个以上经缩放的量化表。在方框230中,编码器使用经缩放的量化表对源图像进行编码。举例来说,编码器可将经编码的图像文件输出到存储器。
在决策方框240处,缩放模块可从存储器中检索经编码的图像文件,并且可确定与所述经编码的图像文件相关的实际位率。接着,缩放模块可确定用根据所述模型产生的缩放因数进行编码的经编码图像文件是否满足目标位率。如果是,那么无需调整缩放因数或对图像文件重新进行编码。缩放模块前进到方框280,所述方法完成。
回到决策方框240,如果缩放模块确定实际位率大于或远远小于所要的目标位率,那么缩放模块前进到方框250,并通过计算出经修改的位率来使普通缩放因数模型适合于正被处理的特定图像。
缩放模块可使用对初始的经缩放的位率的认识来调整缩放因数。可用经修改的缩放因数对捕捉到的图像文件进行编码,以便产生小于或等于目标位率的经编码的图像文件。
在一个实施例中,缩放模块通过使用初始缩放因数和在经由编码器的初次通过中获得的所得位率,来使普通缩放因数模型适合于特定图像。调适过程如下:
·如果第一次通过编码R1的所得位率大于目标位率RT,那么修改位率R1=R1+(R1-RT)/4。
·接着,将校正因数(K)确定为K=S1/(0.6869R1 2+1.5825R1),其中S1是缩放模块184给出的初始缩放因数。
·用于这个特定图像的新的缩放因数模型是S=K(0.6869R2+1.5825R),其中S是缩放因数,且R是每个像素的AC位。
接着,缩放模块可前进到方框260,并确定经修改的缩放因数。可根据新的缩放因数模型导出重新计算出的缩放因数。举例来说,缩放模块可通过使用更新后的缩放因数模型来计算新的缩放因数S2。缩放模块可计算(例如)S2=K(0.6869RT 2+1.5825RT)=KS1。如果R1>RT,重新计算出的缩放因数小于原始缩放因数估值,那么所得的经编码的图像文件将较小。如果R1<RT,重新计算出的缩放因数大于原始缩放因数估值,那么所得的经编码的图像文件将较大。缩放模块可向编码器提供重新计算出的缩放因数,或者可使用重新计算出的缩放因数产生一个或一个以上经缩放的量化表。
编码器前进到方框270,并且接着可使用缩放了所述重新计算出的缩放因数的量化表对捕捉到的图像文件重新进行编码。可将经编码的图像文件存储在存储器中,并可用其代替先前编码的图像文件。在对捕捉到的图像文件重新进行编码之后,用户终端前进到方框280,且方法200完成。总体上,方法200的率控制误差比目标位率RT低约10%。
图3是用于动态地缩放文件编码的方法300的实施例的流程图。图3所示的方法300是一个特定的实施方案,其中针对每个个别的捕捉到的图像文件,且基于AC位的数目,来确定目标率。可通过图1的用户终端或任何其它经配置以对编码器参数进行缩放以便产生具有所要的文件大小的经编码文件的装置来执行方法300。图3的公式使用以下定义:
·F=以位为单位的JPEG文件大小
·H=JPEG标题位的数目
·EOB=块结束位的数目
·DC=DC位的数目
·AC=AC位的数目
·W=以像素为单位的图像宽度
·HT=以像素为单位的图像高度
首先,在方框310中,用户终端可使用缩放模块来计算目标位率。如上所述,经JPEG编码的文件对于AC量化参数的变化最敏感。因此,可根据AC位的数目来确定目标位率。所述经JPEG编码的文件包含若干个位,F=H+EOB+DC+AC。对于给定的目标JPEG文件大小FT来说,每个像素的目标AC位RT可如下计算:
RT=AC/(W*HT)=(FT-H-EOB-DC)/(W*HT)
如上所述,H和EOB是常数,并且在编码之前已知。举例来说,如果在JPEG编码中使用JPEG标准中的默认霍夫曼表,那么对于每个8×8亮度块来说,EOB=4,对于每个8×8色度块来说,EOB=2。DC是JPEG位流的一小部分,但是可能在编码之前并不知道。因此,可估计DC位的数目。
可通过估计用于对每个8×8块的DC组成部分进行编码的四个DC位来估计DC位的数目。接着,可将文件中的DC位的总数估计成4*W*HT*C/(8*8),其中对于YCbCr420格式来说,C=1.5,且对于YCbCr422格式来说,C=2。
一旦确定了目标位率,缩放模块就前进到方框320,并确定初始缩放因数。缩放模块可通过使用预定的普通缩放因数模型来估计缩放因数S1。如上所述,根据经验导出的缩放因数模型的一个实施例规定S1=0.6869RT 2+1.5825RT
在确定了缩放因数之后,编码器在方框330处首先使用缩放了初始缩放因数的量化参数对捕捉到的图像进行编码。在这个实施例中,不对DC组成部分的量化参数进行缩放。
接着,缩放模块可在方框340中使用经编码的图像文件的大小来计算出已实现的实际率。JPEG编码器还可返回对DC组成部分进行编码所花费的实际的位数目DC1。如果是这样的话,那么可用DC1来代替DC值的初始估值。通过使用DC位的DC数目的实际值,可改进总体文件大小控制的准确性,因为DC1是实际的DC位,而不是估计出的DC位。
一旦确定了实际率,缩放模块就可前进到方框350,并确定将应用于缩放因数的校正因数。缩放模块视情况可只针对那些大于或远远小于预定文件大小或位率的经编码文件来确定校正因数。使R1代表方框340中所确定的实际位率。如果R1>RT,那么R1=R1+(R1-RT)/4。可将校正因数计算成K=S1/(0.6869R1 2+1.5825R1)。
在方框360处,缩放模块用校正因数重新计算缩放因数。重新计算出的缩放因数为S=K(0.6869RT 2+1.5825RT)。
如上所述,如果标准量化表Q0和Q1中的值除以2,那么重新构造的JPEG图像通常与原始图像几乎没有区别。因此,用小于1/2的缩放因数进行编码的JPEG图像的感知质量可能与用为1/2的缩放因数进行编码的JPEG图像的感知质量几乎相同,但是第一种图像的文件大小可能远远大于第二种图像的文件大小。因此,缩放模块可将缩放因数的范围限制在二分之一。类似地,可限制缩放因数范围的上半部分,以便防止经编码的图像具有极低的感知质量。
接着,编码器在方框370处使用缩放了重新计算出的缩放因数的量化参数对捕捉到的图像文件重新进行编码。同样,不对DC组成部分的量化参数进行缩放。
在对图3的方法300的模拟中,测试了100个以上的图像。对于所述模拟来说,JPEG编码器并未返回DC位的数目DC1。因此,在第二次通过JPEG编码中使用了估计出的DC值。模拟结果显示,有些图像的输出位率在超出某一目标位率以后保持恒定。原因在于,在JPEG文件大小控制算法中,缩放因数局限于不大于2。输出位率停止增加的点取决于图像中的内容。
还对模拟结果进行了检查,以查找所述算法对所述受测试图像中的一些图像的控制误差。分析结果显示,所述算法在有些情况下可能使目标位率过量10%。为了克服这个问题,所述系统或方法可在运行所述算法之前,先使目标位率降低约10%,以便将超过预定文件大小限制的可能性降到最小。JPEG编码器返回DC位数目DC1的其它实施例可改进算法的准确性,并因此减少目标位率中所需的峰值储备(headroom)量。DC位的估计误差可能尤其会在低位率时影响算法的准确性。
图2和图3的流程图说明动态地缩放文件编码的方法的实施例,所述方法可在图1的用户终端170中实施。在图2和图3的流程图所示的方法中,可独立于编码器182并在编码器182外部对文件编码执行动态缩放。在编码器182的中间结果无法供用户终端170内的其它模块使用的情况下,或者在将编码器182看作具有可存取的输入和输出但以其它方式被密封的“黑匣子”的情况下,这种实施方案可能是有利的。举例来说,编码器182可以是一个截然不同的模块,例如与用户终端170的其它模块介接的截然不同的IC。
在其它实施例中,由编码器182产生的中间结果可供用户终端170中的其它模块存取。在这种配置中,实施依赖于编码器的动态缩放文件编码的方法可能是有利的。图4A是用于动态缩放文件编码的方法400的实施例的流程图。图4A的流程图所示的方法400利用来自JPEG编码器的中间结果。确切地说,方法400部分地基于由编码器针对不同的量化参数缩放因数产生的非零量化DCT系数的数目来确定量化参数。
图4A的方法400部分地基于压缩算法的特性,其中率失真(RD)与来自DCT区块的非零元素的分数成比例。实施图4A的方法400的用户终端首先使用初始量化表对捕捉到的图像文件进行编码。在编码器将捕捉到的图像文件转换成初始的经编码图像文件时,用户终端还从编码器收集一些统计资料。
用户终端(特别是缩放模块)可经配置以确定开销位的数目、来自编码器的零DCT输出的数目以及来自编码器的非零DCT输出的分数数目。缩放模块可针对缩放了预定数目的缩放因数的量化参数,重新确定所述统计资料。举例来说,缩放因数可以是线性隔开的。
接着,缩放模块可根据初始编码的统计资料来确定率失真曲线。缩放模块可通过在对应于经缩放的量化参数的统计资料之间进行内插来确定缩放因数。缩放模块用所述缩放因数对量化参数进行缩放。编码器用所述经缩放的量化参数对捕捉到的图像文件重新进行编码。所得的经编码文件通常小于目标文件大小。如果不是,那么缩放模块可略微修整量化参数,且编码器可对捕捉到的图像文件重新进行编码。缩放模块可继续修整量化参数,且编码器可对捕捉到的图像文件重新进行编码,直到经编码的文件大小小于目标文件大小为止。
一旦用户终端希望传送图像文件并将捕捉到的图像文件呈现给编码器或缩放模块以供处理,图4A的方法400就可操作。将方法400展示为实施JPEG编码器,但方法400还可适用于执行其它压缩算法的其它类型的编码器。
用户终端在决策方框402处首先确定是否指定了目标文件大小。举例来说,当通过无线链路传送图像文件时,用户终端可强加目标文件大小限制,但如果经由用户终端上的有线端口传送图像文件,那么可以不强加文件大小限制。
如果未限制或以其它方式指定文件大小,那么用户终端前进到方框404,且编码器对图像文件进行编码。举例来说,编码器可使用排列在标称量化表中的标称量化参数来执行JPEG编码。通常将JPEG编码理解为指代单独的色度和亮度编码过程。在一个实施例中,默认的量化参数和默认的量化表是上文在表1所示的那些量化参数和量化表,并且通过使默认参数缩放一半来确定标称的量化参数和量化表。其它实施例可使用其它默认量化参数和量化表。在方框404中的JPEG编码之后,用户终端前进到方框408,过程完成。
回到决策方框402,如果用户终端确定文件大小限制存在且将被强加于图像文件,那么用户终端前进到决策方框410。在决策方框410中,用户终端基于图像文件中的像素的数目和文件大小限制来确定每个像素的位的数目。用户终端确定经编码文件的所得的位率是否小于每个像素1/2个位,或其它某个最小率。如果位率小于最小位率,那么将用一个高压缩比率来压缩由编码器产生的经编码文件,所述压缩比率使得从经编码文件恢复的图像的质量将较低。
因此,如果用户终端确定位率小于最小位率,那么用户终端前进到方框412,在此处,对图像文件进行抽取或向下取样,以减少图像文件中的像素的总数。举例来说,用户终端可通过从原始图像文件中的每两个像素中选择一个来抽取图像文件。还可使用其它抽取率。当在方框412中抽取图像文件之后,用户终端回到决策方框410。
回到决策方框410,如果用户终端确定图像文件(不论是原始图像文件还是所抽取的图像文件)的位率大于最小位率,那么用户终端前进到方框420。
在方框420处,用户终端通过使上文在表1所示的默认量化表缩放因数1/2来确定初始量化表。用户终端前进到方框422,并使用初始量化表对图像文件进行JPEG编码,以便产生初始的经编码文件。
用户终端前进到决策方框430,并确定初始经编码文件的文件大小是否令人满意。也就是说,用户终端确定初始经编码文件的文件大小是否小于或等于目标文件大小。如果是,那么用户终端前进到方框460,过程完成。
回到决策方框430,如果用户终端确定初始经编码文件的大小大于目标文件大小,那么用户终端从决策方框430前进到方框440。在方框440中,用户终端执行JPEG率控制以确定新的量化表。举例来说,用户终端可确定一个缩放因数以应用于默认量化表,以便产生新的量化表。
在图4B的流程图中详细论述缩放因数的确定过程,并在下文中概述所述过程。为了确定用以确定新的量化表的缩放因数,用户终端从编码器中收集对应于各个量化表的统计资料。在一个实施例中,编码器或缩放模块可存储来自编码器的用初始量化参数产生的DCT系数值。接着,用户终端可经配置以在编码器使用初始量化表和初始量化表的经缩放版本时,确定零量化的DCT输出的数目。用户终端还可为初始经编码文件确定分数非零值。
根据所述统计资料,用户终端可基于来自初始经编码文件的统计资料确定率失真曲线,所述统计资料包含分数非零值和经编码文件中的AC位的数目。根据所述率失真曲线,用户终端可使用率失真曲线和AC位的目标数目来确定目标分数非零值。接着,用户终端可根据目标分数非零值来确定缩放因数。
在确定了缩放因数之后,用户终端前进到方框442,且JPEG用经缩放的量化表的参数来对图像文件进行编码。所述图像文件是指满足决策方框410的要求的图像文件。所述图像文件可以是原始图像文件,或者可以是原始图像文件的抽取版本。
在对图像文件进行编码以产生经编码文件之后,用户终端前进到决策方框450,以便确定经编码文件是否满足文件大小限制。如果是,那么用户终端前进到方框460,过程完成。
然而,经编码文件可能并不满足文件大小限制。经编码文件的大小可能小于文件大小限制。如果不是,那么经编码文件大小通常只是略大于文件大小限制。在所述情况下,用户终端从决策方框450前进到方框452,且略微修整经缩放的量化表。
虽然用户终端可实施任何常用技术来修整经缩放的量化表,但使经编码文件大小在文件大小限制以内所需的变化通常较小。在一个实施例中,用户终端可通过向经缩放的量化表中的每个参数加上固定的量来修整经缩放的量化表。举例来说,用户终端可通过向经缩放的量化表的每个量化参数加上6、8、10、15或其它某个值来修整量化参数。在另一实施例中,用户终端可通过乘以额外的缩放因数来修整经缩放的量化表,所述额外的缩放因数可(例如)使参数值增加额外的2%、5%、10%或15%或其它某个值。
在修整经缩放的量化表之后,用户终端返回方框442,并使用经修整的量化表对图像文件重新进行编码。用户终端可继续修整量化表并对图像文件重新进行编码,直到经编码的文件的大小满足文件大小限制为止。
图4B是JPEG率控制方法440的实施例的流程图,可(例如)使用图1的用户终端的缩放模块来执行所述方法。方法440在方框470处开始,其中在处理初始经编码文件期间,缩放模块从编码器中收集统计资料。统计资料可包含(但不限于)文件中的开销位的数目、整个图像上的亮度和色度块都已量化之后零DCT输出的总数、整个图像上的亮度和色度块都已量化之后非零DCT输出的总数,以及对亮度和色度块进行运转周期编码时所使用的位的数目。
在使用经缩放的量化表对亮度和色度块进行量化之后,缩放模块前进到方框472并确定非零DCT输出的数目。为了确定这些值,缩放模块存取编码器的DCT输出。因为DCT输出通常是编码器的中间阶段,所以编码器经配置以提供对DCT输出值的存取。
缩放模块可针对应用于量化表的缩放因数的预定数目来确定非零DCT输出的数目。举例来说,缩放模块可在初始量化表缩放了因数2、3、4、5和6或其它某个缩放因数之后,确定非零DCT输出的数目。缩放模块可针对经缩放的量化表确定非零DCT输出的总数,或者可在对量化表进行缩放时,确定非零值的数目的变化。
图5是亮度值的非零DCT输出的直方图。可针对色度值产生单独的直方图。图5的直方图中的条形展示额外数目的非零DCT输出,所述数目由缩放模块针对应用于默认量化表的各个缩放因数来确定。直方图上的初始条形代表初始量化矩阵的非零DCT输出的数目。如上所述,初始量化表可以是值缩放了1/2的默认量化表。
在针对各个缩放因数确定了非零DCT输出的数目之后,缩放模块前进到方框480以确定位的目标数目。位的目标数目可限于AC位的目标数目,因为其它位的数目相对而言对量化表的变化并不敏感。因此,缩放模块可确定:
target_nbits_ac_all=TargetNbits-nbits_overhead
TargetNbits的值是所述方法的输入,且nbits_overhead代表先前确定的开销位的数目。缩放模块可针对色度和亮度分别确定AC位的目标数目,并且可考虑到位的目标数目是亮度位和色度位的目标总和。
在确定了位的目标数目之后,缩放模块前进到方框482,并确定率失真曲线。对照非零元素的分数数目(p),标绘率失真的率失真曲线是一条经过原点的直线。
图6是亮度值的率失真曲线的实例。因为所述曲线经过原点,所以率失真曲线具有以下形式:
nBitsAC=K·ρ
可使用从初始经编码文件中收集到的统计资料来确定斜率(k),且斜率(k)等于初始经编码图像中的AC位的数目除以DCT输出的非零值的分数数目。因此,斜率可由以下公式确定:
κ = nBitsAC _ Y ρ 0
缩放模块前进到方框484,以便确定目标分数非零值。如图6所示,可使用目标位率(此处展示为目标AC位率),根据率失真曲线来确定目标分数非零值
Figure S2006800170222D00152
在至少部分地基于所述率失真曲线确定了目标分数非零值之后,缩放模块前进到方框490,以便确定用于对图像文件重新进行编码的缩放因数。图7是基于经量化的DCT系数确定缩放因数的图示说明。
如图7所示,每个直方图值都对应于非零元素(ρ)的分数数目。通过使用先前在方框484中确定的目标分数非零值
Figure S2006800170222D00161
缩放模块可在两个ρ值之间进行内插,以便确定缩放因数。在图7的实例中,缩放因数与
Figure S2006800170222D00162
成比例,且确定为
Figure S2006800170222D00163
在确定了缩放因数之后,缩放因数在方框492中将缩放因数应用于默认量化表,以便产生经缩放的量化表。缩放模块前进到方框494,JPEG率控制方法440完成。
已经揭示了用于动态地缩放文件编码的设备、系统和方法。所述方法、系统和设备可使用两次通过编码过程,藉此,可根据初始文件获得目标位率和相关的目标经编码文件大小。使用缩放了根据缩放因数模型确定的缩放因数的量化参数来对初始的未经编码文件进行编码。可检查所得的经编码文件,看是否符合预定的经编码文件大小限制。
可针对那些起初并不符合预定文件大小限制的经编码文件重新计算缩放因数。缩放模块可确定校正后的位率和将应用于初始缩放因数以产生经重新计算的缩放因数的校正因数。接着,可使用缩放了经重新计算的缩放来对初始文件重新进行编码,从而产生符合预定文件大小限制的经编码文件。
提供对所揭示的实施例的以上描述是为了使所属领域的技术人员能够制作或使用本发明。所属领域的技术人员将容易了解对这些实施例的各种修改,且本文中所界定的一般原理可在不偏离本发明的精神或范围的情况下,应用于其它实施例。因此,本发明并不希望局限于本文中所展示的实施例,而是希望符合与本文中所揭示的原理和新颖特征一致的最广泛的范围。

Claims (45)

1.一种编码系统,所述系统包括:
编码器,其经配置以使用缩放了缩放因数的量化参数对源文件进行编码,以便产生目标文件大小小于所述源文件的文件大小的编码文件;以及
缩放模块,其经配置以部分地基于所述目标文件大小和所述源文件的所述文件大小来确定所述编码器所使用的所述缩放因数。
2.根据权利要求1所述的系统,其中所述缩放模块经配置以部分地基于所述源文件的所述文件大小来产生初始缩放因数,且所述编码器经配置以使用缩放了所述初始缩放因数的量化参数对所述源文件进行编码,以便产生初始经编码文件,且其中所述缩放模块部分地基于所述初始经编码文件的文件大小来确定所述缩放因数。
3.根据权利要求2所述的系统,其中所述缩放模块使用缩放因数模型来确定所述初始缩放因数。
4.根据权利要求2所述的系统,其中所述缩放模块使用预定多项式来确定所述初始缩放因数。
5.根据权利要求2所述的系统,其中所述缩放模块通过基于所述源文件中的像素数目确定目标位率来确定所述初始缩放因数。
6.根据权利要求2所述的系统,其中所述缩放模块通过部分地基于所述源文件中的AC位的数目确定目标位率来确定所述初始缩放因数。
7.根据权利要求2所述的系统,其中所述缩放模块经配置以基于所述初始经编码文件的所述文件大小来确定校正因数,并将所述缩放因数确定为所述初始缩放因数与所述校正因数的乘积。
8.根据权利要求7所述的系统,其中如果所述初始缩放因数与所述校正因数的所述乘积超过预定数字,那么所述缩放模块将所述缩放因数设置成所述预定数字。
9.根据权利要求1所述的系统,其中所述编码器包括JPEG编码器。
10.根据权利要求1所述的系统,其中所述编码器经配置以使用缩放了所述缩放因数的AC量化参数和未经缩放的DC量化参数对所述源文件进行编码。
11.根据权利要求1所述的系统,其中所述缩放了所述缩放因数的量化参数包括AC量化参数。
12.根据权利要求1所述的系统,其中所述量化参数包括JPEG量化参数。
13.根据权利要求1所述的系统,其中所述编码系统包括经配置以通过无线通信系统进行通信的移动台。
14.根据权利要求1所述的系统,其中所述编码系统包括无线基站。
15.根据权利要求1所述的系统,其进一步包括:
存储器,其耦合到所述编码器,且经配置以存储所述源文件;以及
相机,其经配置以捕捉图像文件,并将所述图像文件作为所述源文件存储在所述存储器中。
16.根据权利要求1所述的系统,其进一步包括无线收发器,所述无线收发器耦合到所述编码器,且经配置以通过无线通信链路传输所述经编码的文件。
17.一种编码系统,所述系统包括:
JPEG编码器,其经配置以对捕捉到的图像文件进行编码,以便产生经编码的图像文件,所述JPEG编码器使用缩放了缩放因数的量化参数来至少对所述捕捉到的图像文件的AC位进行编码;以及
缩放模块,其耦合到所述JPEG编码器,且经配置以部分地基于目标文件大小和所述捕捉到的图像文件中的像素数目来确定初始缩放因数,且其中所述JPEG编码器经配置以使用缩放了所述初始缩放因数的量化参数对所述捕捉到的图像文件的所述AC位进行编码,以便产生初始经编码文件,且其中所述缩放模块部分地基于所述初始经编码文件的文件大小来确定所述缩放因数。
18.根据权利要求17所述的系统,其进一步包括:
存储器,其耦合到所述编码器,且经配置以存储所述捕捉到的图像文件;以及相机,其经配置以产生所述捕捉到的图像文件,并将所述捕捉到的图像文件存储在所述存储器中。
19.根据权利要求17所述的系统,其进一步包括无线收发器,所述收发器耦合到所述编码器,且经配置以通过无线通信链路传输所述经编码的图像文件。
20.根据权利要求17所述的系统,其中所述编码系统包括无线电话。
21.一种对文件进行缩放以产生文件大小小于文件大小限制的编码文件的方法,所述方法包括:
确定目标位率;
确定初始缩放因数;
使用缩放了所述初始缩放因数的量化参数对源文件进行编码,以便产生初始经编码文件;
确定经修改的位率;
确定缩放因数;以及
使用缩放了所述缩放因数的量化参数对所述源文件重新进行编码,以便产生所述经编码文件。
22.根据权利要求21所述的方法,其中确定所述目标位率包括部分地基于目标文件大小来确定目标AC位率。
23.根据权利要求21所述的方法,其中确定所述目标位率包括确定目标文件大小除以所述源文件中的像素数目。
24.根据权利要求21所述的方法,其中确定所述目标位率包括:
估计所述源文件中的DC位的数目;以及
确定DC位的所述数目与目标文件大小的差值,以便产生目标AC位估值。
25.根据权利要求24所述的方法,其中确定所述目标位率进一步包括确定所述AC位估值与所述源文件中的像素数目的商。
26.根据权利要求21所述的方法,其中确定所述初始缩放因数包括通过将所述目标位率应用到缩放因数响应的多项式模型来确定所述初始缩放因数。
27.根据权利要求21所述的方法,其中对所述源文件进行编码包括使用缩放了所述初始缩放因数的AC量化参数对捕捉到的图像文件进行JPEG编码。
28.根据权利要求21所述的方法,其中确定所述经修改的位率包括确定所述初始经编码文件的AC位率。
29.根据权利要求21所述的方法,其中确定所述缩放因数包括:
部分地基于所述经修改的位率来计算校正因数;以及
将所述缩放因数确定为所述校正因数与所述初始缩放因数的乘积。
30.根据权利要求29所述的方法,其进一步包括:如果所述校正因数与所述初始缩放因数的所述乘积超过预定值,则将所述缩放因数设置成所述预定值。
31.根据权利要求21所述的方法,其进一步包括:
用相机捕捉图像文件;以及
将所述图像文件作为所述源文件存储在存储器中。
32.根据权利要求21所述的方法,其进一步包括:使用无线通信链路将所述经编码文件传输到目的地装置。
33.一种对文件进行缩放以便产生文件大小小于文件大小限制的经编码文件的方法,所述方法包括:
估计图像文件中的DC位的数目;
从目标文件大小减去DC位的所述数目,以便产生AC位估值;
将目标率确定为所述AC位估值除以所述图像文件中的像素数目所得的值;
部分地基于所述目标率来确定初始缩放因数;
使用JPEG编码器用缩放了所述初始缩放因数的量化参数对所述图像文件进行编码,以便产生所述经编码文件。
34.根据权利要求33所述的方法,其进一步包括:
部分地基于所述经编码文件的大小来确定位率;
基于所述位率来确定校正因数;
将经重新计算的缩放因数确定为所述校正因数与所述初始缩放因数的乘积;以及使用所述JPEG编码器用缩放了所述经重新计算的缩放因数的量化参数对所述图像文件进行编码。
35.一种或一种以上存储装置,其经配置以存储一个或一个以上处理器可读指令,所述处理器可读指令在由处理器执行时可执行包括以下步骤的方法:
确定目标位率;
确定初始缩放因数;
使用缩放了所述初始缩放因数的量化参数对源文件进行编码,以便产生初始经编码文件;
确定经修改的位率;
确定缩放因数;以及
使用缩放了所述缩放因数的量化参数对所述源文件重新进行编码,以便产生所述经编码文件。
36.一种编码系统,所述系统包括:
编码器,其经配置以使用缩放了缩放因数的量化参数对源文件进行编码,以便产生目标文件大小小于所述源文件的文件大小的编码文件;以及
缩放模块,其经配置以部分地基于率失真曲线来确定由所述编码器使用的所述缩放因数,所述率失真曲线是根据由所述编码器产生的初始经编码文件确定的。
37.根据权利要求36所述的系统,其中所述缩放模块进一步经配置以确定截然不同的色度和亮度缩放因数。
38.根据权利要求36所述的系统,其中所述缩放模块进一步经配置以基于所述初始经编码文件中的AC位的数目和所述初始经编码文件的分数非零值来确定所述率失真曲线。
39.根据权利要求36所述的系统,其中所述缩放模块进一步经配置以针对多个经缩放量化表中的每一者确定来自所述编码器的零DCT输出数目,且所述缩放模块经配置以根据所述率失真曲线确定目标分数非零值,并通过在所述零DCT输出数目中的两个之间进行内插来确定所述缩放因数。
40.一种对文件进行缩放以便产生文件大小小于文件大小限制的经编码文件的方法,所述方法包括:
使用初始量化表对源文件进行编码,以便产生初始经编码文件;
基于所述初始经编码文件确定率失真曲线;
部分地基于所述率失真曲线确定缩放因数;
通过使所述初始量化表缩放所述缩放因数来确定经缩放的量化表;以及
使用所述经缩放的量化表对所述源文件重新进行编码,以便产生所述经编码文件。
41.根据权利要求40所述的方法,其进一步包括确定位的目标数目。
42.根据权利要求41所述的方法,其中所述位的目标数目包括AC位的目标数目。
43.根据权利要求41所述的方法,其中所述位的目标数目包括亮度位的目标数目。
44.根据权利要求40所述的方法,其中确定所述率失真曲线包括:
确定对应于所述初始经编码文件的非零DCT输出的分数数目;
确定所述非零DCT输出的分数数目与所述初始经编码文件中的AC位的总数的比率。
45.一种对文件进行缩放以便产生文件大小小于文件大小限制的经编码文件的方法,所述方法包括:
使用初始量化表对源文件进行编码,以便产生初始经编码文件;
从所述初始经编码文件收集统计资料;
确定对应于多个经缩放量化表中的每一者的来自编码器的零DCT输出的数目;
确定位的目标数目;
部分地基于所述统计资料确定率失真曲线;
部分地基于所述率失真曲线确定目标分数非零值;
部分地基于所述目标分数非零值确定缩放因数;
将所述缩放因数应用到所述初始量化表,以便产生目标量化表;以及
使用所述目标量化表对所述源文件重新进行编码,以便产生所述经编码文件。
CN2006800170222A 2005-03-22 2006-03-22 动态缩放文件编码方法及系统 Expired - Fee Related CN101176351B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/087,226 2005-03-22
US11/087,226 US7567722B2 (en) 2005-03-22 2005-03-22 Dynamically scaled file encoding
PCT/US2006/010716 WO2006102571A1 (en) 2005-03-22 2006-03-22 Dynamically scaled file encoding

Publications (2)

Publication Number Publication Date
CN101176351A true CN101176351A (zh) 2008-05-07
CN101176351B CN101176351B (zh) 2012-01-04

Family

ID=36691368

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006800170222A Expired - Fee Related CN101176351B (zh) 2005-03-22 2006-03-22 动态缩放文件编码方法及系统

Country Status (7)

Country Link
US (1) US7567722B2 (zh)
EP (1) EP1862012A1 (zh)
JP (2) JP2008535322A (zh)
KR (1) KR100939324B1 (zh)
CN (1) CN101176351B (zh)
CA (1) CA2601757A1 (zh)
WO (1) WO2006102571A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107690803A (zh) * 2015-06-08 2018-02-13 高通股份有限公司 用于高动态范围及广色域视频译码的自适应常量照度方法
WO2021027144A1 (zh) * 2019-08-12 2021-02-18 Tcl华星光电技术有限公司 数据压缩装置及压缩方法

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7783781B1 (en) * 2005-08-05 2010-08-24 F5 Networks, Inc. Adaptive compression
US8275909B1 (en) 2005-12-07 2012-09-25 F5 Networks, Inc. Adaptive compression
US8213498B2 (en) * 2007-05-31 2012-07-03 Qualcomm Incorporated Bitrate reduction techniques for image transcoding
US20080316331A1 (en) * 2007-06-25 2008-12-25 Core Logic, Inc. Image processing apparatus and method for displaying captured image without time delay and computer readable medium stored thereon computer executable instructions for performing the method
US20090074315A1 (en) * 2007-09-19 2009-03-19 Himax Technologies Limited Method of image compression and device thereof
WO2010077333A1 (en) * 2008-12-29 2010-07-08 Thomson Licensing Method and apparatus for rate control for compression of video frames
JP5263681B2 (ja) * 2009-07-15 2013-08-14 富士ゼロックス株式会社 画像符号化装置およびそのプログラム
TWI405467B (zh) * 2009-11-25 2013-08-11 Novatek Microelectronics Corp 影像壓縮的位元速率控制電路與方法
CN102238382B (zh) * 2010-05-07 2013-09-25 联咏科技股份有限公司 影像压缩的位率控制方法及其装置
EP2713612A4 (en) * 2011-06-28 2014-11-26 Samsung Electronics Co Ltd METHOD AND APPARATUS FOR ENCODING AND DECODING IMAGE USING THE ADAPTIVE QUANTIFICATION PARAMETER DIFFERENTIAL
US9111329B2 (en) * 2011-12-26 2015-08-18 Samsung Electronics Co., Ltd Method and apparatus for compressing images
KR101694301B1 (ko) * 2012-04-23 2017-01-09 한국전자통신연구원 스토리지 시스템의 파일 처리 방법 및 그 방법에 따른 데이터 서버
US20140068097A1 (en) * 2012-08-31 2014-03-06 Samsung Electronics Co., Ltd. Device of controlling streaming of media, server, receiver and method of controlling thereof
US9805442B2 (en) * 2012-10-03 2017-10-31 Avago Technologies General Ip (Singapore) Pte. Ltd. Fine-grained bit-rate control
SG11201503954YA (en) * 2013-01-04 2015-06-29 Intel Corp Coding unit bit number limitation
KR101415429B1 (ko) * 2014-03-20 2014-07-09 인하대학교 산학협력단 블록 아티팩트 기반의 동영상 화질 최적화를 위한 비트레이트 결정 방법
US10397585B2 (en) 2015-06-08 2019-08-27 Qualcomm Incorporated Processing high dynamic range and wide color gamut video data for video coding
RU2607624C1 (ru) * 2015-08-13 2017-01-10 Самсунг Электроникс Ко., Лтд. Способ управления размером выходного файла jpeg сжатия изображения
GB2570710B (en) 2018-02-05 2022-10-12 Sony Corp Data encoding and decoding

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH031662A (ja) * 1989-05-30 1991-01-08 Fuji Photo Film Co Ltd 画像信号圧縮符号化装置
JP2952000B2 (ja) * 1990-04-19 1999-09-20 オリンパス光学工業株式会社 画像データの符号化装置および符号化方法
JPH05227520A (ja) * 1992-02-14 1993-09-03 Hitachi Ltd 画像圧縮符号化装置
JP3632995B2 (ja) * 1994-09-01 2005-03-30 松下電器産業株式会社 画像符号化復号装置
JP3115199B2 (ja) * 1994-12-16 2000-12-04 松下電器産業株式会社 画像圧縮符号化装置
US5596602A (en) * 1995-03-24 1997-01-21 Eastman Kodak Company Data compression rate control method and apparatus
JPH0998427A (ja) * 1995-09-29 1997-04-08 Toshiba Corp 動画像符号化装置
US5650860A (en) * 1995-12-26 1997-07-22 C-Cube Microsystems, Inc. Adaptive quantization
JP3681828B2 (ja) * 1996-08-14 2005-08-10 富士写真フイルム株式会社 画像データの符号量制御方法およびその装置
FR2753330B1 (fr) * 1996-09-06 1998-11-27 Thomson Multimedia Sa Procede de quantification pour codage video
JPH10174103A (ja) * 1996-12-13 1998-06-26 Matsushita Electric Ind Co Ltd 画像符号化装置、符号化画像記録媒体、画像復号化装置、画像符号化方法、および符号化画像伝送方法
FR2769161B1 (fr) * 1997-10-01 1999-12-24 Univ Neuchatel Procede de controle du taux de compression d'images numeriques
US6195462B1 (en) 1998-03-30 2001-02-27 Eastman Kodak Company Image compression
JP3259702B2 (ja) * 1998-12-24 2002-02-25 日本電気株式会社 動画像可変ビットレート符号化装置および方法
US6356668B1 (en) 1998-12-29 2002-03-12 Eastman Kodak Company Method for efficient rate control
JP3871840B2 (ja) * 1999-12-24 2007-01-24 日本電気株式会社 圧縮動画像再符号化装置
US6600836B1 (en) * 2000-01-28 2003-07-29 Qualcomm, Incorporated Quality based image compression
US8111689B2 (en) * 2001-01-16 2012-02-07 Nokia Corporation System for uplink scheduling packet based data traffic in wireless system
US20020131645A1 (en) * 2001-01-16 2002-09-19 Packeteer Incorporated Method and apparatus for optimizing a JPEG image using regionally variable compression levels
US6504494B1 (en) * 2001-11-06 2003-01-07 Motorola, Inc. Software, method and apparatus for rate controlled image compression
US6931159B2 (en) 2002-02-28 2005-08-16 Nokia Corporation Size reduction method and device for compressed images
US7092965B2 (en) * 2002-07-09 2006-08-15 Lightsurf Technologies, Inc. System and method for improved compression of DCT compressed images
JP2005051659A (ja) * 2003-07-31 2005-02-24 Matsushita Electric Ind Co Ltd 動画像符号化方法および動画像符号化装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107690803A (zh) * 2015-06-08 2018-02-13 高通股份有限公司 用于高动态范围及广色域视频译码的自适应常量照度方法
CN107690803B (zh) * 2015-06-08 2019-08-23 高通股份有限公司 用于高动态范围及广色域视频译码的自适应常量照度方法
WO2021027144A1 (zh) * 2019-08-12 2021-02-18 Tcl华星光电技术有限公司 数据压缩装置及压缩方法

Also Published As

Publication number Publication date
CA2601757A1 (en) 2006-09-28
JP2011239425A (ja) 2011-11-24
JP2008535322A (ja) 2008-08-28
CN101176351B (zh) 2012-01-04
US7567722B2 (en) 2009-07-28
EP1862012A1 (en) 2007-12-05
WO2006102571A1 (en) 2006-09-28
KR100939324B1 (ko) 2010-01-28
KR20070121799A (ko) 2007-12-27
JP5290357B2 (ja) 2013-09-18
US20060215912A1 (en) 2006-09-28

Similar Documents

Publication Publication Date Title
CN101176351B (zh) 动态缩放文件编码方法及系统
CN100380984C (zh) 基于空间预测的帧内编码
CN101232622B (zh) 用于子像素值内插的方法
US7577306B2 (en) Digital image coding system having self-adjusting selection criteria for selecting a transform function
CN1773553B (zh) 采用基于动态缓冲器容量水平压缩调节的图像编码
CN100574427C (zh) 视频编码比特率的控制方法
US6697529B2 (en) Data compression method and recording medium with data compression program recorded therein
CN101253761B (zh) 图像编码设备和图像编码方法
US20070140569A1 (en) Image compression apparatus
US8351693B2 (en) Image compression apparatus and computer-readable recording medium recorded with image compression program
CN102223463B (zh) 多功能打印机
CN100574434C (zh) 一种图像压缩/解压缩方法和系统
CN102308582B (zh) 用于对图像进行分割编码的方法
CN102271251B (zh) 无失真的图像压缩方法
CN101547352B (zh) 影像压缩方法和解压缩方法
CN105844588A (zh) 创意图片的智能分级压缩方法及系统
CN100517373C (zh) 改变数字图像分辨率的装置及其相应方法
JP3857509B2 (ja) 画像処理装置、画像処理システム、画像符号化方法、及び記憶媒体
CN1625184B (zh) 用于在移动终端上提供缩略图图像数据的装置和方法
US20020001414A1 (en) System for building a data compression encoder
CN102300085B (zh) 具有可变量化参数与可变编码参数的图像压缩方法
CN116132759B (zh) 一种音视频流同步传输方法、装置、电子设备及存储介质
CN116248880A (zh) 图像处理方法和图像处理装置
CN110099279A (zh) 一种基于硬件的可调节有损压缩的方法
CN102271252A (zh) 具有可变量化参数的图像压缩方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1114282

Country of ref document: HK

C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: WD

Ref document number: 1114282

Country of ref document: HK

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120104

CF01 Termination of patent right due to non-payment of annual fee