CN110050458B - 并发地执行图像压缩和缩略图生成的方法及用于该方法的设备 - Google Patents

并发地执行图像压缩和缩略图生成的方法及用于该方法的设备 Download PDF

Info

Publication number
CN110050458B
CN110050458B CN201780075082.8A CN201780075082A CN110050458B CN 110050458 B CN110050458 B CN 110050458B CN 201780075082 A CN201780075082 A CN 201780075082A CN 110050458 B CN110050458 B CN 110050458B
Authority
CN
China
Prior art keywords
memory
block
values
pixels
image
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.)
Active
Application number
CN201780075082.8A
Other languages
English (en)
Other versions
CN110050458A (zh
Inventor
玛哈拉克施米·蒂基雷迪
拉古杜·沙特什
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.)
Advanced Micro Devices Inc
Original Assignee
Advanced Micro Devices 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 Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Publication of CN110050458A publication Critical patent/CN110050458A/zh
Application granted granted Critical
Publication of CN110050458B publication Critical patent/CN110050458B/zh
Active 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/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/176Methods 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 block, e.g. a macroblock
    • 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/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/182Methods 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 pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • 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
    • H04N19/625Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Storing Facsimile Image Data (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Human Computer Interaction (AREA)
  • Image Processing (AREA)

Abstract

第一存储器[105]存储表示数字图像[110]的像素的块[115]的值,第二存储器[163]存储缩略图图像[160]中的目标像素的部分值,并且第三存储器[145]存储压缩图像[140]和缩略图图像。处理器[120]从所述第一存储器检索像素块的值。所述处理器还并发地压缩所述值以生成压缩图像以及基于所述块的与所述目标像素的缩放窗口[420]重叠的部分中的像素值来修改所述目标像素的部分值。所述处理器将所述修改的部分值存储在所述第二存储器中,并将所述压缩图像和所述缩略图图像存储在所述第三存储器中。

Description

并发地执行图像压缩和缩略图生成的方法及用于该方法的 设备
技术领域
本发明涉及一种图像处理,特别地涉及图像压缩和缩略图的生成的处理,更特别地涉及并发地进行图像压缩和缩略图的生成。
背景技术
可使用诸如联合照片专家组(JPEG)压缩算法之类的压缩算法来压缩由独立数字相机或并入诸如智能电话和平板计算机的其他装置中的数字相机捕获的数字图像。数字相机包括检测器阵列,以生成表示检测器所接收的光的颜色和强度的信号。信号被转换为一个或多个字节的信息,以表示原始数字图像的每个像素的颜色和强度。然后使用压缩算法来压缩原始数字图像中的块。例如,JPEG压缩算法通过应用离散余弦变换(DCT)来生成表示块中的像素的值的频率分量,从而从原始数字图像压缩像素块(诸如,16x16最小编码单元,MCU)。人眼对较高频率分量较不敏感,因此可丢弃或以相比较低频率分量的较低精度存储较高频率分量,从而压缩所述块。然后,应用附加的无损压缩(诸如,霍夫曼编码)以进一步压缩表示与块相关联的图像的一部分的信息。因此,压缩数字图像需要以连续的块从主存储器检索图像中的每个像素。
原始数字图像也可进行缩减(downscale)以产生适合于显示为图标的缩略图图像,例如,以在计算机文档系统中提供图像的视觉表示。缩减会减少表示原始数字图像的像素数,以形成缩略图图像。为了生成原始数字图像的合理表示,缩减算法组合原始数字图像中的多个像素的内插值,以估计缩略图图像中的每个像素的值。内插算法的实例包括最近邻内插、双线性内插、双三次内插等。通常,缩减通过从存储在主存储器中的原始数字图像提取像素行,并且将每行存储在本地图像缓冲器中来执行。然后,使用插值算法来计算缓冲行中的每个像素对缩略图图像中的对应像素的贡献。因此,生成缩略图图像需要以连续的行从主存储器检索图像中的每个像素。
发明内容
本发明在第一方面提供了一种并发地执行图像压缩和缩略图生成的方法,其包括:从第一存储器检索表示数字图像的部分的像素的块的值;从第二存储器检索缩略图图像中的目标像素的部分值;并发地压缩所述值以生成压缩图像以及基于所述块的与所述目标像素的缩放窗口重叠的部分来修改所述部分值;将所述修改的部分值存储在所述第二存储器中;以及将所述压缩图像和所述缩略图图像存储在第三存储器中。
本发明在第二方面提供了一种用于并发地执行图像压缩和缩略图生成的设备,其包括:第一存储器,用于存储表示数字图像的像素块的值;第二存储器,用于存储缩略图图像中的目标像素的部分值;第三存储器,用于存储压缩图像和缩略图图像;以及处理器,所述处理器用于:从所述第一存储器检索像素块的值,并发地压缩所述值以生成压缩图像以及基于所述块的与目标像素的缩放窗口重叠的部分中的像素值来修改所述目标像素的部分值,将所述修改的部分值存储在所述第二存储器中,以及将所述压缩图像和所述缩略图图像存储在所述第三存储器中。
本发明在第三方面提供了一种并发地执行图像压缩和缩略图生成的方法,其包括:为表示数字图像的缩略图图像中的目标像素限定缩放窗口;从第一存储器检索表示所述数字图像的部分的像素的块;与将压缩算法应用于所述像素块并发地,基于所述像素块的与所述缩放窗口重叠的部分来确定所述目标像素的部分值;响应于所述缩放窗口的部分在所述块外部且在先前从所述第一存储器检索的任何块外部而将所述部分值存储在第二存储器中;并且响应于确定所述缩放窗口的整体已与所述块或者先前从所述第一存储器检索的至少一个块重叠而将所述目标像素的最终值存储在第三存储器中。
附图说明
通过参考附图,可更好地理解本公开,并且本公开的许多特征和优点对本领域技术人员变得显而易见。在不同附图中使用的相同附图标号指示类似或完全相同的项目。
图1是根据一些实施方案的用于执行对图像的图像压缩和缩减以形成缩略图图像的处理系统的框图。
图2是根据一些实施方案的用于内插图像中的像素值以确定缩略图图像中的目标像素的值的映射的图示。
图3是根据一些实施方案的使用单次扫描(pass)来访问图像中的数据以用于执行对图像的图像压缩和缩减从而形成缩略图图像的处理系统的框图。
图4是根据一些实施方案的包括以行和列组织的一组MCU的图像的一部分的图示。
图5是根据一些实施方案的由与缩略图图像中的目标像素相关联的缩放窗口重叠的MCU的图示。
图6是根据一些实施方案的包括一组数据单元的MCU的图示,所述一组数据单元由与缩略图图像中的目标像素相关联的缩放窗口重叠。
图7是图像的一部分的图示,其示出根据一些实施方案的以行和列组织的一组MCU的访问模式。
图8是图像的一部分的图,其示出根据一些实施方案的对应于涵盖多个MCU的缩放窗口的目标像素的值的部分累加。
图9是根据一些实施方案的用于并发的图像压缩和缩略图生成的方法的流程图。
图10是根据一些实施方案的基于块中的像素值来计算并存储目标像素的部分值的方法的流程图。
具体实施方式
在数字相机、智能电话、平板计算机、膝上型计算机、台式计算机等中实现的图像处理系统通常执行对数字图像的JPEG压缩和对数字图像的缩减两者以产生对应的缩略图图像。然而,常规JPEG压缩和常规缩减以不同的格式访问数字图像中的像素。例如,常规JPEG压缩以块的形式访问像素值以支持离散余弦变换(DCT)压缩算法,而常规缩减逐行访问像素值以支持将像素值存储在行缓冲器中。如果定义用于导出缩略图图像中的目标像素的像素的源图像窗口分布在多个块,那么无法对像素块执行常规缩减。当源图像与缩略图图像之间的缩放比率较大时,这个问题会更加严重。因此,需要对存储在主存储器中的原始数字图像的像素进行两次单独扫描来检索像素值以执行JPEG压缩和缩减两者。每次扫描都消耗存储器带宽和功率。
通过以下事项来减少图像压缩和缩减所消耗的存储器带宽和功率:单次扫描用于存储像素值的系统存储器(或系统存储器的高速缓存)来检索表示数字图像的像素的值,然后使用检索到的像素值来生成压缩图像和缩减缩略图图像。因此,每个像素值仅从系统存储器或高速缓存检索一次,而不是执行常规JPEG压缩和缩减所需的两次检索(每次检索对应一次扫描)。相对于在常规实践中检索像素值所需的两次扫描,从以单次扫描检索的像素值生成压缩图像和缩减缩略图图像将存储器带宽和功耗减少多达一半。
在一些实施方案中,以块(诸如,MCU)从系统存储器或高速缓存检索表示数字图像的像素的值,并且对块中的像素的值执行JPEG压缩。与压缩块中的像素值并发地,通过将所述块的边界与目标像素的缩放窗口的边界进行比较来生成缩略图图像中的目标像素的值。将块中的在目标像素的缩放窗口内的像素的一部分的值内插到目标像素的位置,并且累加内插值以形成目标像素的部分值。如果当前块与缩放窗口的一部分重叠或者如果缩放窗口分布在多个相邻块上,那么将部分值存储在本地存储器(诸如,随机访问存储器,RAM)中。响应于缩放窗口与随后检索的像素块重叠并与随后检索的块中的像素值累加,从本地存储器恢复部分值。例如,将随后检索的块中的在缩放窗口内的像素的一部分的值内插到目标像素的位置。然后,将内插值累加在目标像素的部分值中。一旦整个缩放窗口与一个或多个检索到的像素块重叠,就基于部分值确定目标像素的最终值。
图1是根据一些实施方案的用于执行对图像的图像压缩和缩减以形成缩略图图像的处理系统100的框图。处理系统100包括存储表示图像110的信息的存储器105。存储器105被实现为将图像110存储在块115(为了清楚起见,仅由附图标号指示出一个)中的系统存储器或高速缓存。例如,图像110可由像素阵列(诸如256x256像素阵列)表示。图像110中的块115中的每一个由像素的子集(诸如,16x16像素最小编码单元MCU)表示。因此,图像110可被细分以便表示为块115的16x16阵列。图像110还可被细分以便表示为各自包括256个像素的256行。
处理系统100包括用于实现编码器125的处理器120,所述编码器诸如实现用于压缩图像110的压缩算法的联合照片专家组(JPEG)编码器125。在所示实施方案中,JPEG编码器125包括应用正向离散余弦变换(FDCT)压缩算法的FDCT模块130,所述FDCT压缩算法将图像110从空间(二维,2D)域转换为将图像110表示为具有不同幅值的一组频率分量的频域信号。FDCT模块130丢弃频域信号的高频分量,从而压缩图像110的表示。通过丢弃高频分量来压缩图像是一种有损压缩技术,因为在压缩中会丢失一些信息。压缩量(例如,被丢弃的高频分量的数目)由压缩比确定。
使用在编码器135中实现的无损压缩算法来进一步压缩图像110的频域表示。例如,编码器135可实现霍夫曼编码以使用可变长度代码表来对图像110的频域表示进行编码,所述可变长度代码表是基于频域表示中的不同值的估计频率或出现概率而导出的。编码器135产生压缩图像140,所述压缩图像140存储在存储器145中。在一些实施方案中,存储器145是用于实现存储器105的同一系统存储器或高速缓存。然而,存储器105、145也可被实现为不同的存储器元件或高速缓存。
至少部分地因为FDCT模块130将表示图像110的像素的值从2D域转换到频域,所以FDCT模块130需要在逐块的基础上从存储器105检索图像110中的像素的值。例如,JPEG编码器125从存储器105检索块115,然后FDCT模块130通过丢弃频域表示的高频分量将块115中的像素的值转换为块115的频域表示以便压缩。通过接口从存储器105检索图像110的块115,所述接口可用包括存储器访问控制器、存储器物理层接口、一个或多个总线或桥接器等的元件来实现。所述接口具有(至少部分地)被分配用于检索块115的有限存储器带宽。此外,通过接口检索块115消耗功率,并且将时延引入压缩过程。
处理系统100还包括可与处理器120相同或不同的处理器150。处理器150实现用于从图像110中的像素的值生成缩略图图像160的缩略图缩放器155。缩略图图像160存储在存储器163中。缩略图缩放器155在逐行的基础上从图像110检索像素的值,并且将每行像素存储在缓冲器165中。例如,缩略图缩放器155可从存储器105检索具有256个像素的行,并且将所述行存储在缓冲器165中。在所示实施方案中,缩略图缩放器155实现双线性内插模块170,以通过将行中的像素的值内插到目标像素的位置来估计行中的每个像素对缩略图图像中的目标像素(诸如目标像素175)的贡献。缩略图缩放器155还实现双三次内插模块180,以估计行中的像素对目标像素175的贡献。然后,使用平均模块185来对由双线性内插模块170和双三次内插模块180产生的值求平均,以产生目标像素175的最终值。
至少部分地因为缩略图缩放器155在逐行的基础上从图像110检索像素的值以便存储在缓冲器165中,所以除了由JPEG编码器125执行的对图像110的逐块扫描之外,还由缩略图缩放器155执行对图像110的逐行扫描。缩略图缩放器155通过接口从存储器105进行检索,所述接口可用包括存储器访问控制器、存储器物理层接口、一个或多个总线或桥接器等的元件来实现。因此,由缩略图缩放器155执行的附加扫描使存储器带宽消耗近似加倍,因为同一图像110被提取两次以执行压缩和缩减。此外,以两次扫描检索图像110中的像素的值使执行压缩和缩减所需的功耗近似加倍,并且还会增加时延。
图2是根据一些实施方案的用于内插图像中的像素值以确定缩略图图像中的目标像素的值的映射200的图示。映射200使块210中的表示较大图像(图2中未示出)中的像素的子集的像素205的值(为了清楚起见,仅由附图标号指示了一个)与表示缩略图图像220的目标像素215(为了清楚起见,仅由附图标号指示了一个)相关。在所示实施方案中,块210包括16x16像素最小编码单元(MCU)中的像素的子集,作为由256x256像素阵列表示的图像的一部分。在所示实施方案中,缩略图图像220是目标像素215的4x6阵列,使得块210与缩略图图像220之间的缩减比率是3.99x2.66。
通过从块210提取诸如行225的像素行(如箭头227所示),并且将所提取行225存储在诸如图1所示的缓冲器165的行缓冲器中来执行缩减。像素205组与对应目标像素215相关联。例如,组230与目标像素215相关联。组230中的像素205的值各自提供对目标像素215的值的贡献。像素205中的每一个对目标像素215的值的贡献通过将像素205的位置内插到目标像素215的位置来确定。
在一些实施方案中,可使用FANT算法来基于X方向和Y方向上的偏移确定对目标像素215的值的贡献。贡献(Destpel)可表示为:
Figure GDA0003026438970000081
其中P[y][x]是位置(x,y)处的源像素的值,x部分是距X方向上最近的左侧整数像素的距离,y部分是距Y方向上最近的顶部整数像素的距离,针对组230中的像素205在X方向上从零变化到hscal_ratio,并且针对组230中的像素205在Y方向上从零变化到vscl_ratio。一般而言,双线性算法、双三次算法和FANT平均算法是可用于使用缩放窗口中所包含的像素来内插到目标像素的值的内插技术。例如,可使用缩放窗口230中的像素块来内插目标像素215。
实现行缓冲所需的区域成本很高,并且与组的大小成比例地(例如,与hscal_ratio或yscal_ratio成比例地)增加。从系统存储器或高速缓存提取行225消耗到系统存储器或高速缓存的接口的带宽。此外,通过缩减块210来生成缩略图图像220所消耗的功率随着行缓冲器的大小增加而增加,并且还随着提取行225所消耗的存储器带宽量增加而增加。通过使用对源图像的单次扫描执行JPEG编码和缩略图缩减而不是第一逐块扫描来执行JPEG编码和第二次逐块扫描来执行缩略图缩减,可以减少整体功耗,同时消除对行缓冲的需求。
图3是根据一些实施方案的使用单次扫描来访问图像中的数据以用于执行对图像的图像压缩和缩减从而形成缩略图图像的处理系统300的框图。处理系统300包括存储表示图像310的信息的存储器305。存储器305被实现为将图像310存储在块315(为了清楚起见,仅由附图标号指示出一个)中的系统存储器或高速缓存。例如,图像310可由像素阵列(诸如256x256像素阵列)表示。图像310中的块315中的每一个由像素的子集(诸如16x16像素MCU)表示。因此,图像310可被细分以便表示为块115的16x16阵列。
存储器305通过接口325连接到处理器320。接口325的一些实施方案提供有限量的存储器带宽,用于在存储器305与处理器320之间传达信息。例如,接口325可使用存储器访问控制器、存储器物理层接口、一条或多条总线、一个或多个桥接器或其他硬件元件来实现,所述硬件元件受限于提供由硬件元件的特性确定的存储器带宽量。使用接口325在存储器305与处理器320之间传达信息消耗随着通过接口325传达的信息量增加而增加的功率量。
处理器320实现诸如JPEG编码器330的编码器330,所述JPEG编码器330实现用于压缩图像310的压缩算法。在所示实施方案中,JPEG编码器330包括应用FDCT压缩算法的FDCT模块335,所述FDCT压缩算法将图像310从空间(2D)域转换为将图像310表示为具有不同幅值的一组频率分量的频域信号。FDCT模块335丢弃频域信号的高频分量,从而压缩图像310的表示,如本文所论述。使用在编码器340中实现的无损压缩算法来进一步压缩图像310的频域表示。例如,编码器340可实现霍夫曼编码以对图像310的频域表示进行编码,如本文所论述。
编码器340产生压缩图像345,所述压缩图像345存储在通过接口355连接到处理器320的存储器350中,所述接口355可使用包括存储器控制器、存储器物理层接口、总线、桥接器等的硬件元件的组合来实现。因此,接口355具有有限的带宽,用于在处理器320与存储器350之间传达信息。在一些实施方案中,存储器350是用于实现存储器305的同一系统存储器或高速缓存,在此情况下,接口355与接口325是相同的。然而,存储器305、350还可实现为通过不同接口325、355连接到处理器320的不同存储器元件或高速缓存。
处理器320还实现用于从图像310中的像素的值生成缩略图图像365的缩略图缩放器360。在所示实施方案中,缩略图缩放器360实现FANT平均算法385以执行像素的累加,并且对给定缩放窗口求平均。目标像素375的值由块310内的给定缩放窗口(HSCL x VSCL)中的输入像素确定。因此,所有输入源像素315被考虑并且对缩略图图像365中的目标像素375的值作出贡献。如果缩放比率是分数(即,缩放窗口边界落在整数索引像素315之间),那么落入缩放窗口边界内的部分源像素315对对应目标像素375的值作出贡献。这使缩放窗口边界上的混叠效应最小化。目标像素375的值通过接口390传送到存储器350。接口390使用包括存储器控制器、存储器物理层接口、总线、桥接器等的硬件元件的组合来实现。因此,接口390具有有限的带宽,用于在处理器320与存储器350之间传达信息。接口390的一些实施方案与接口355是相同的。
处理器320与可实现为随机访问存储器(RAM)395的本地存储器相关联。RAM 395可在处理器320内或处理器320附近实现,使得与通过接口325、355、390传送信息所需的访问时延、存储器带宽和功耗相比,在处理器320与本地RAM 395之间传送信息所需的访问时延、存储器带宽和功耗很小(并且在某些情况下可忽略不计)。
处理器320在逐块的基础上通过接口325从存储在存储器305中的图像310提取块315。JPEG编码器330和缩略图缩放器360对所提取的块并发地进行操作,以分别生成压缩图像345和缩略图图像365。例如,处理器320可从存储器305检索块315中的像素的值。JPEG编码器330将压缩算法应用于所述值以生成压缩图像345,并且缩略图缩放器360基于块315的与目标像素375的缩放窗口重叠的部分中的像素值来与JPEG编码器330对块315中的像素的值的操作并发地修改目标像素375的部分值。缩略图缩放器360可将所修改部分值存储在与处理器320相关联的本地存储器(诸如RAM 395)中。当对图像310中的其他块操作时,缩略图缩放器360还可从RAM 395检索所修改部分值,如本文所论述。在压缩块315之后,JPEG编码器330将压缩图像345存储在存储器350中。缩略图缩放器360将完成的缩略图图像365存储在存储器350中,如本文所论述。
图4是根据一些实施方案的包括以行和列组织的一组MCU的图像的部分400的图示。图像被分为M行和N列的MCU。例如,图像可包括16行和16列,如图3所示的图像310所示。部分400包括由行的子集(m,m+1)和列的子集(n,n+1,n+2)标识的MCU的子集。例如,MCU 405由行/列对(m,n)标识。MCU中的每一个进一步细分为四个数据单元。例如,MCU 405被细分为数据单元410、411、412、413,本文中统称为“数据单元410-413”。数据单元中的每一个包括像素块。例如,数据单元410包括8x8像素块,所述像素块包括像素415。如本文所论述,从系统存储器或高速缓存(诸如,图3所示的存储器305)检索MCU中的像素的值,并且将其并发地进行压缩和缩减以在逐块的基础上形成缩略图图像。
缩放窗口420、421、422、423、424、425(本文中统称为“缩放窗口420-425”)与通过缩减包括部分400的图像而产生的缩略图图像中的目标像素相关联。缩放窗口420-425重叠并且涵盖部分400中的对缩略图图像中的对应目标像素作出贡献的像素。例如,缩放窗口420涵盖MCU 405的数据单元410-413中的像素,以及由行/列对(m,n+1)、(m+1,n)、(m+1,n+1)所标识的MCU中的像素。缩放窗口420-425的尺寸由缩放比率或单独的水平和竖直缩放比率确定,如本文所论述。缩放比率的一些实施方案是分数,使得缩放窗口420-425的边界可落在由整数值索引的像素之间。在所述情况下,在对缩略图图像中的对应目标像素的值的计算中包括落在缩放窗口420-425的边界内的部分源像素。
与缩放窗口420-425相关联的目标像素的最终值不是由单个块中的像素的值确定,因为缩放窗口420-425与多个块重叠。相反地,目标像素的部分值因此是在逐块的基础上确定的。例如,通过与压缩MCU 405中的像素的值并发地内插数据单元410-413中的像素的值来确定与缩放窗口420相关联的目标像素的部分值。然后,响应于检测到MCU 405的边界,将部分值存储在本地存储器中。因此,可使用以单次扫描从系统存储器或高速缓存检索的值来执行对用于缩减以生成缩略图图像的MCU 405中的像素值的内插以及对MCU 405中的像素值的压缩两者。
一旦完成对MCU 405的处理,就可从系统存储器或高速缓存检索另一MCU。例如,响应于完成对MCU 405的缩减和压缩,可从系统存储器或高速缓存检索MCU(m,n+1)中的像素值。可从本地存储器创建或检索与缩放窗口相关联的目标像素的部分值,所述缩放窗口与检索到的MCU重叠。例如,响应于从系统存储器或高速缓存检索MCU(m,n+1),从本地存储器检索与缩放窗口420相关联的目标像素的部分值。又例如,响应于检索MCU(m,n+1),可创建与缩放窗口421相关联的目标像素的部分值。然后,将缩放窗口420、421所涵盖的像素的贡献内插并累加在对应部分值中,所述对应部分值可响应于检测到缩放窗口420、421或MCU(m,n+1)的边界而存储在本地存储器中。
响应于整个对应缩放窗口所涵盖的像素的内插值,确定目标像素的最终值。例如,响应于在处理MCU(m+1,n+1)的同时到达缩放窗口420右下角处的边界,确定与缩放窗口420相关联的目标像素的最终值。目标像素的最终值存储在外部存储器中,所述外部存储器可以是与用于存储图像的部分400的系统存储器或高速缓存相同的存储器,或者不同的存储器。
图5是根据一些实施方案的由与缩略图图像中的目标像素相关联的缩放窗口501、502、503、504重叠的MCU 500的图示。MCU 500被细分为数据单元510、511、512、513,本文中统称为“数据单元510-513”。缩放窗口501、502、503、504(本文中统称为“缩放窗口501-504”)涵盖数据单元510的不同部分515、516、517、518(本文中统称为“部分515-518”),以及包括数据单元511-513的其他数据单元的部分。
通过以下事项在逐块的基础上计算与缩放窗口501-504相关联的目标像素的部分值:计算块的对应缩放窗口501-504所涵盖的一部分内的像素的贡献;一旦已累加来自当前块的所有贡献,就将部分值存储在本地存储器中;响应于检索到至少部分地由对应缩放窗口501-504涵盖的新块,恢复来自本地存储器的部分值;以及对新检索到的块的一部分内的像素的贡献进行累加。
在一些实施方案中,响应于检测到部分515-518的边界,将部分值存储在本地存储器中。例如,响应于从系统存储器或高速缓存检索到MCU 500中的数据单元510,从本地存储器检索与缩放窗口502相关联的目标像素的部分值。将来自数据单元510的部分516中的像素的贡献累加在部分值中,所述部分值响应于检测到部分516的边界而存储在本地存储器中。响应于检测到数据单元510内的缩放窗口502-504的边界,与缩放窗口502-504相关联的目标像素的部分值也存储在本地存储器中。
在一些实施方案中,响应于检测到缩放窗口501-504的边界,将目标像素的最终值存储在系统存储器中,所述检测指示已计算出像素对对应目标像素的所有贡献。例如,响应于从系统存储器或高速缓存检索到MCU 500中的数据单元510,从本地存储器检索与缩放窗口501相关联的目标像素的部分值。对目标像素作出贡献的最后一个像素在数据单元510的部分515的右下角处,因此一旦已处理部分515中的像素,目标像素的最终值就得以确定。因此,响应于在数据单元510的处理期间检测到缩放窗口501的边界,将缩放窗口501的目标像素的最终值存储在系统存储器中。
图6是根据一些实施方案的包括一组数据单元601、602、603、604的MCU 600的图示,所述一组数据单元由与缩略图图像中的目标像素相关联的缩放窗口605重叠。数据单元601、602、603、604在本文中统称为“数据单元601-604”。缩放窗口605涵盖位于数据单元601中的一部分615中、数据单元602中的一部分616中、数据单元603的一部分617和数据单元604中的一部分618中的像素。在所示实施方案中,数据单元601-604以Z模式从系统存储器进行检索,以便它们按照由附图标号601-604的数字次序指示的次序来检索。
响应于从系统存储器或高速缓存检索到数据单元601,生成与缩放窗口605相关联的目标像素的部分值。将部分615中的像素值内插到目标像素的位置,并且将内插值累加在部分值中,所述部分值响应于检测到部分615或数据单元600中的边界而存储在本地存储器中。响应于从系统存储器检索到数据单元602、603,从本地存储器恢复部分值,并且将部分616、617中的像素值内插并累加在部分值中,所述部分值响应于检测到数据单元602、603或部分616、617中的边界而存储在本地存储器中。响应于从系统存储器检索到数据单元604而从本地存储器恢复部分值,并且将部分618中的像素值内插并累加在部分值中,所述部分值用于响应于检测到部分618中的边界而确定最终值。例如,可将目标像素的最终值设定为等于部分615-618中的像素所贡献的部分值的总和,然后可将总和除以缩放窗口605内的像素的总数。
图7是图像的部分700的图示,其示出根据一些实施方案的以行和列组织的一组MCU的访问模式。图像被分为M行和N列的MCU。例如,图像可包括16行和16列,如图3所示的图像310所示。部分700包括由行的子集(m,m+1)和列的子集(n,n+1,n+2)标识的MCU的子集。例如,MCU 705由行/列对(m,n)标识。MCU中的每一个进一步细分为四个数据单元。例如,MCU705被细分为数据单元710、711、712、713,本文中统称为“数据单元710-713”。数据单元中的每一个包括像素块。例如,数据单元710包括8x8像素块,所述像素块包括像素715。如本文所论述,从系统存储器或高速缓存(诸如,图3所示的存储器305)检索MCU中的像素的值,并且将其并发地进行压缩和缩减以在逐块的基础上形成缩略图图像。
以如行720、725所示的Z模式访问数据单元710-713。因此,以由附图标号710-713的数字次序指示的次序访问数据单元710-713。与MCU中的数据单元中的每一个重叠的缩放窗口的部分值与压缩MCU中的像素值并发地进行累加。例如,由行/列对(m,n+1)指示的MCU中的左下数据单元与九个缩放窗口730(为了清楚起见,仅由附图标号指示出一个)重叠,所述缩放窗口与缩略图图像中的对应目标像素相关联。在处理数据单元中的像素值期间累加缩放窗口730的部分值。
如果缩放窗口730的边界与数据单元的边界的比较指示已确定对少于缩放窗口730所涵盖的所有像素的目标像素的贡献,那么将部分值存储在本地存储器中。如果所述比较指示已确定对由对应缩放窗口所涵盖的所有像素的目标像素的贡献,那么将目标像素的最终值存储在系统存储器中。例如,图7所示的中央缩放窗口完全落在MCU(m,n+1)的左下数据单元内。因此,在处理MCU(m,n+1)的左下数据单元中的像素期间或之后,将与中央缩放窗口相关联的目标像素的最终值存储在系统存储器中。
图8是图像的部分800的图,其示出了根据一些实施方案的对应于涵盖多个MCU的缩放窗口的目标像素的值的部分累加。图像被分为M行和N列的MCU。例如,图像可包括16行和16列,如图3所示的图像310所示。部分800包括由行的子集(m,m+1)和列的子集(n,n+1,n+2)标识的MCU的子集。例如,MCU 805由行/列对(m,n)标识。MCU中的每一个进一步细分为四个数据单元。例如,MCU 805被细分为数据单元810、811、812、813,本文中统称为“数据单元810-813”。数据单元中的每一个包括像素块。例如,数据单元810包括8x8像素块,所述像素块包括像素815。如本文所论述,从系统存储器或高速缓存(诸如,图3所示的存储器305)检索MCU中的像素的值,并且将其并发地进行压缩和缩减以在逐块的基础上形成缩略图图像。
缩放窗口820涵盖部分800中的对缩略图图像中的目标像素作出贡献的像素。如本文所论述,将缩放窗口820所涵盖的像素的值从像素的位置内插到目标像素的位置,并且将内插值与其他像素的内插值累加以确定目标像素的值。与对部分800的块进行编码并发地执行对每个像素的内插值的计算,以例如根据JPEG压缩算法生成压缩图像。例如,与对数据单元811中的像素进行编码并发地,将区域821中的像素的内插值累加在目标像素的部分值中。然后,将目标像素的部分值存储在本地RAM中。响应于从系统存储器检索数据单元813,从本地RAM检索部分值,并且与对数据单元813中的像素进行编码并发地,将区域822中的像素的内插值累加在目标像素的部分值中。然后,将部分值存储在本地RAM中。
在逐块的基础上同时执行对像素的内插值的计算和对部分800的块的编码。例如,一旦对MCU 805的编码和对来自区域821、822的对目标像素的部分值的贡献的计算完成,就从系统存储器检索MCU(m,n+1)并且从本地RAM检索目标像素的部分值。将区域823、824、825、826中的像素值内插到目标像素的位置,并且将内插值累加在目标像素的部分值中。与对MCU(m,n+1)中的对应数据单元进行编码并发地执行累加。然后,将部分值存储在本地RAM中。这个过程在逐块的基础上迭代地进行,直到将缩放窗口820所涵盖的所有像素的贡献累加在部分值中为止。例如,对MCU(m,n+2)的区域828中的像素、MCU(m+1,n)的区域829中的像素、MCU(m+1,n+1)的区域830、831中的像素和MCU(m+1,n+2)的区域832中的像素执行并发的内插、部分值累加和编码。响应于检测到区域832的边界,将目标像素的最终值存储在存储器中。
图9是根据一些实施方案的用于并发的图像压缩和缩略图生成的方法900的流程图。方法900在图3所示的处理系统300的一些实施方案中实现。例如,方法900可在诸如图3所示的处理器320的处理器中实现。
在框905处,处理器从系统存储器或高速缓存检索表示图像的部分的像素块的值。像素块可以是MCU、MCU内的数据单元或其他2D像素组。
在框910处,处理器确定与块的部分重叠的缩放窗口的目标像素的部分值。例如,如本文所论述,可通过将块的部分中的像素值从像素的位置内插到目标像素的位置来确定目标像素的部分值。部分值存储在与处理器相关联的本地存储器(诸如,图3所示的本地RAM395)中。
在框915处,处理器确定完整缩放窗口的目标像素值。例如,响应于确定图像中对目标像素的值作出贡献的所有像素(即,缩放窗口所涵盖的图像中的所有像素)已由处理器处理的过程,将目标像素的部分值设定为等于目标像素的最终值。在一些实施方案中,将累加的部分值除以对目标像素的值作出贡献的像素的数目,以产生最终值。目标像素的最终值存储在诸如图3所示的存储器350的存储器中。
在框920处,处理器对块中的像素的值进行编码以形成由块中的像素表示的图像部分的压缩表示。例如,处理器可对块中的像素的值执行FDCT变换,如本文所论述。
在框925处,处理器执行对压缩表示的无损编码。例如,处理器可对由块中的像素表示的图像部分的压缩表示执行霍夫曼编码。如本文所论述,框910、915中的操作与框920、925中的操作并发地执行。因此,块中的像素的值仅从存储器检索(在框905处)一次或进行单次扫描。
在决策框930处,处理器确定是否存在待从系统存储器或高速缓存检索的附加块。如果是,那么方法900进行到框905,并且处理器执行逐块图像压缩和缩略图生成过程的另一迭代。如果否,那么方法900进行到框935,并且方法900结束。
图10是根据一些实施方案的基于块中的像素值来计算并存储目标像素的部分值的方法1000的流程图。方法1000在图3所示的处理系统300的一些实施方案中实现。例如,方法1000可在诸如图3所示的处理器320的处理器中实现。方法1000还用于执行图9所示的框910、915中的操作的一些实施方案。因此,与对块中的像素进行编码并发地对块中的像素执行方法1000,以生成由像素表示的图像的压缩表示。
在框1001处,处理器开始累加表示与下一缩放窗口相关联的目标像素的值的部分值。处理器的一些实施方案在开始对部分值的累加之前将部分值初始化为值零。
在框1005处,处理器从已从系统存储器或高速缓存检索的块访问像素的值。在所示实施方案中,块是当前正由处理器处理的数据单元的一部分。像素由缩放窗口涵盖。因此,像素处于由块或数据单元的边界与缩放窗口的边界的并集所涵盖的区域中。在框1010处,处理器计算像素对目标像素的部分值的贡献。例如,处理器可将像素的值从像素的位置内插到目标像素的位置。在框1015处,处理器将在框1010处确定的贡献添加到目标像素的部分值。
在框1020处,处理器确定所述块中的像素是否在缩放窗口的端部。例如,处理器可确定像素是否在缩放窗口的边界处以及缩放窗口所涵盖的所有像素是否先前已处理过,如本文所论述。如果像素是需要被处理以完成对缩放窗口所涵盖的所有像素的处理的最后一个像素,那么方法1000进行到框1025。如果像素不是需要被处理以完成对缩放窗口所涵盖的所有像素的处理的最后一个像素,那么方法1000直接进行到决策框1030而不将任何信息存储在存储器中。
在框1025处,从本地RAM检索表示目标像素的值的先前部分值。例如,先前部分值可以是使用由缩放窗口和先前由处理器处理的数据单元的并集所涵盖的像素来计算的部分值。在框1035处,将检索到的先前部分值添加到使用当前数据单元计算的部分值。在框1040处,对部分值求平均以生成目标像素的最终值,例如通过除以对目标像素的部分值作出贡献的像素总数,并且将最终值存储在系统存储器中。
在决策框1030处,处理器确定是否已到达当前数据单元的边界。如果否,那么方法1000进行到框1005,并且访问来自块的下一个像素。如果已到达当前数据单元的边界,那么方法1000进行到框1045,并且将部分值存储在本地RAM中。如本文所论述,随后可从本地RAM检索部分值,以便与使用来自不同数据单元的像素为缩放窗口计算的部分值进行累加。
在一些实施方案中,上文所描述的设备和技术被实现在包括一个或多个集成电路(IC)装置(也称为集成电路封装或微芯片)的系统中,诸如上文参考图1至图10所述的处理系统。在这些IC装置的设计和制造中使用电子设计自动化(EDA)和计算机辅助设计(CAD)软件工具。这些设计工具通常表示为一个或多个软件程序。所述一个或多个软件程序包括代码,所述代码可由计算机系统执行以操纵计算机系统在表示一个或多个IC装置的电路的代码上操作,以便执行过程的至少一部分以设计或调适制造系统,从而制造电路。此代码可包括指令、数据或指令和数据的组合。表示设计工具或制造工具的软件指令通常存储在计算系统可访问的计算机可读存储介质中。同样地,表示IC装置设计和制造的一个或多个阶段的代码存储在同一计算机可读存储介质或不同计算机可读存储介质中,并从同一计算机可读存储介质或不同计算机可读存储介质进行访问。
计算机可读存储介质包括在使用期间可由计算机系统访问以向计算机系统提供指令和/或数据的任何非暂时性存储介质或非暂时性存储介质的组合。此类存储介质可包括但不限于光学介质(例如,压缩光盘(CD)、数字通用光盘(DVD)、蓝光光盘)、磁性介质(例如,软盘、磁带或磁性硬盘驱动器)、易失性存储器(例如,随机访问存储器(RAM)或高速缓存)、非易失性存储器(例如,只读存储器(ROM)或闪存存储器)或基于微机电系统(MEMS)的存储介质。计算机可读存储介质可嵌入计算系统中(例如,系统RAM或ROM),固定地附接到计算系统(例如,磁性硬盘驱动器),可移除地附接到计算系统(例如,光盘或基于通用串行总线(USB)的闪存存储器),或者经由有线或无线网络耦合到计算机系统(例如,网络可访问存储装置(NAS))。
在一些实施方案中,上述技术的某些方面可由执行软件的处理系统的一个或多个处理器来实现。所述软件包括存储在或以其他方式有形地体现在非暂时性计算机可读存储介质上的一个或多个可执行指令集。所述软件可包括指令和某些数据,所述指令和数据在由一个或多个处理器执行时操纵一个或多个处理器以执行上述技术的一个或多个方面。非暂时性计算机可读存储介质可包括例如磁盘或光盘存储装置、诸如闪存存储器的固态存储装置、高速缓存、随机访问存储器(RAM),或者一个或多个其他非易失性存储器装置等。存储在非暂时性计算机可读存储介质上的可执行指令可以是源代码、汇编语言代码、对象代码或者被一个或多个处理器解译或可以其他方式执行的其他指令格式。
应注意,并非上文在一般性描述中所描述的所有活动或元素都是必需的,特定活动或装置的一部分可能不是必需的,并且除所描述的那些之外,还可执行一个或多个其他活动,或者还可包括其他元素。再者,列出活动的次序不一定是活动被执行的次序。此外,已参考具体实施方案对概念进行了描述。然而,本领域普通技术人员应理解,在不脱离如下文权利要求所阐述的本公开的范围的情况下,可进行各种修改和改变。因此,说明书和附图应被视为是说明性的而不是限制性的,并且所有此类修改意图包括在本公开的范围内。
上文已关于具体实施方案描述了益处、其他优点和问题解决方案。然而,所述益处、优点、问题解决方案以及可能致使任何益处、优点或解决方案出现或变得更明显的任何一个或多个特征都不应被视为任何或所有权利要求的关键、必需或本质特征。此外,上文所公开的特定实施方案仅仅是说明性的,因为所公开的主题可以不同但等效的方式进行修改和实践,这些方式对受益于本文教导的本领域技术人员是显而易见的。除如下文权利要求中所描述的以外,并不意图限于本文所示出的构造或设计的细节。因此,显而易见的是,上文所公开的特定实施方案可进行变更或修改,并且所有此类变型都被视为在所公开主题的范围内。因此,本文所寻求的保护如下文权利要求中所阐述。

Claims (20)

1.一种并发地执行图像压缩和缩略图生成的方法,其包括:
从第一存储器检索表示数字图像的部分的像素的块的值;
从第二存储器检索缩略图图像中的目标像素的部分值;
并发地压缩表示数字图像的部分的像素的块的所述值以生成压缩图像以及基于所述块的与所述目标像素的缩放窗口重叠的部分来修改所述部分值;
将所述修改的部分值存储在所述第二存储器中;并且
将所述压缩图像和所述缩略图图像存储在第三存储器中。
2.如权利要求1所述的方法,其还包括:
迭代地检索表示所述数字图像的多个部分的多个像素的块的值,检索对应于与所述多个像素的块重叠的所述缩放窗口的所述缩略图图像中的所述目标像素的部分值,并且并发地将压缩算法应用于表示所述数字图像的多个部分的多个像素的块的所述值以及在逐块的基础上修改所述部分值。
3.如权利要求1所述的方法,其中修改所述目标像素的所述部分值包括:将所述块的边界与所述缩放窗口的边界进行比较,以确定所述块的与所述缩放窗口重叠的所述部分。
4.如权利要求3所述的方法,其中修改所述目标像素的所述部分值包括:将所述块的与所述缩放窗口重叠的所述部分中的像素的值内插到所述目标像素的位置,并将已内插的值累加在所述目标像素的所述部分值中。
5.如权利要求3所述的方法,其中将所述修改的部分值存储在所述第二存储器中包括:响应于所述缩放窗口的部分在所述块外部且在先前从所述第一存储器检索的任何块外部而存储所述修改的部分值。
6.如权利要求1所述的方法,其中从所述第二存储器检索所述目标像素的所述部分值包括:响应于所述缩放窗口与从所述第一存储器检索的所述像素的块重叠,检索所述部分值。
7.如权利要求1所述的方法,其还包括:
响应于确定所述缩放窗口的整体已与所述块或者先前从所述第一存储器检索的至少一个块重叠而将所述目标像素的完整值设定为等于所述部分值。
8.如权利要求7所述的方法,其中存储所述缩略图图像包括:将所述目标像素的所述完整值存储在所述第三存储器中。
9.一种用于并发地执行图像压缩和缩略图生成的设备,其包括:
第一存储器,用于存储表示数字图像的像素的块的值;
第二存储器,用于存储缩略图图像中的目标像素的部分值;
第三存储器,用于存储压缩图像和缩略图图像;以及
处理器,用于:
从所述第一存储器检索像素的块的值,
并发地压缩表示数字图像的像素的块的所述值以生成压缩图像以及基于所述块的与目标像素的缩放窗口重叠的部分中的像素值来修改所述目标像素的部分值,
将所述修改的部分值存储在所述第二存储器中,并且
将所述压缩图像和所述缩略图图像存储在所述第三存储器中。
10.如权利要求9所述的设备,其中所述第一存储器和所述第三存储器是系统存储器或高速缓存中的至少一者,所述系统存储器或高速缓存由表征为有限的存储器访问带宽的接口连接到所述处理器,并且其中所述第二存储器是与所述处理器相关联的本地随机访问存储器(RAM)。
11.如权利要求9所述的设备,其中所述处理器还被配置为:
迭代地检索表示所述数字图像的所述像素的块的所述值,检索对应于与所述块重叠的所述缩放窗口的所述缩略图图像中的所述目标像素的所述部分值,并且并发地将压缩算法应用于表示数字图像的所述像素的块的所述值以及在逐块的基础上修改所述部分值。
12.如权利要求9所述的设备,其中所述处理器还被配置为:将所述块的边界与所述缩放窗口的边界进行比较,以确定所述块的与所述缩放窗口重叠的所述部分。
13.如权利要求12所述的设备,其中所述处理器还被配置为:将所述块的与所述缩放窗口重叠的所述部分中的像素的值内插到所述目标像素的位置,并将已内插的值累加在所述目标像素的所述部分值中。
14.如权利要求12所述的设备,其中所述处理器还被配置为:响应于所述缩放窗口的部分在所述块外部且在先前从所述第一存储器检索的块外部,存储所述修改的部分值。
15.如权利要求9所述的设备,其中所述处理器还被配置为:响应于所述缩放窗口与从所述第一存储器检索的所述像素的块重叠而从所述第二存储器检索所述部分值。
16.如权利要求9所述的设备,其中所述处理器还被配置为:响应于确定所述缩放窗口的整体已与所述块或者先前从所述第一存储器检索的至少一个块重叠而将所述目标像素的完整值设定为等于所述部分值。
17.如权利要求16所述的设备,其中所述处理器还被配置为:将所述目标像素的所述完整值存储在所述第三存储器中。
18.一种并发地执行图像压缩和缩略图生成的方法,其包括:
为表示数字图像的缩略图图像中的目标像素限定缩放窗口;
从第一存储器检索表示所述数字图像的部分的像素的块;
与将压缩算法应用于所述像素的块并发地,基于所述像素的块的与所述缩放窗口重叠的部分来确定所述目标像素的部分值;
响应于所述缩放窗口的部分在所述块外部且在先前从所述第一存储器检索的任何块外部而将所述部分值存储在第二存储器中;并且
响应于确定所述缩放窗口的整体已与所述块或者先前从所述第一存储器检索的至少一个块重叠而将所述目标像素的最终值存储在第三存储器中。
19.如权利要求18所述的方法,其中确定所述部分值包括:响应于所述缩放窗口与从所述第一存储器检索的所述像素的块重叠而从所述第二存储器检索所述部分值。
20.如权利要求19所述的方法,其中确定所述目标像素的所述部分值包括:将所述块的与所述缩放窗口重叠的所述部分中的像素的值内插到所述目标像素的位置,并将已内插的值累加在所述目标像素的所述部分值中。
CN201780075082.8A 2016-12-09 2017-12-07 并发地执行图像压缩和缩略图生成的方法及用于该方法的设备 Active CN110050458B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
IN201641042223 2016-12-09
IN201641042223 2016-12-09
US15/414,466 2017-01-24
US15/414,466 US10284861B2 (en) 2016-12-09 2017-01-24 Concurrent image compression and thumbnail generation
PCT/US2017/065002 WO2018106856A1 (en) 2016-12-09 2017-12-07 Concurrent image compression and thumbnail generation

Publications (2)

Publication Number Publication Date
CN110050458A CN110050458A (zh) 2019-07-23
CN110050458B true CN110050458B (zh) 2021-08-13

Family

ID=62489945

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780075082.8A Active CN110050458B (zh) 2016-12-09 2017-12-07 并发地执行图像压缩和缩略图生成的方法及用于该方法的设备

Country Status (6)

Country Link
US (1) US10284861B2 (zh)
EP (1) EP3552379B1 (zh)
JP (2) JP6961696B2 (zh)
KR (1) KR102293883B1 (zh)
CN (1) CN110050458B (zh)
WO (1) WO2018106856A1 (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005341382A (ja) * 2004-05-28 2005-12-08 Sony Corp 画像処理装置,撮像装置,コンピュータプログラムおよび画像処理方法
KR20110038467A (ko) * 2009-10-08 2011-04-14 엘지전자 주식회사 압축 파일 생성 방법 및 장치, 이를 포함하는 단말기
CN103945225A (zh) * 2005-11-30 2014-07-23 高通股份有限公司 用于图像和视频处理的缩放器结构
CN106028117A (zh) * 2016-05-24 2016-10-12 青岛海信电器股份有限公司 一种图像处理方法及装置

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6545687B2 (en) 1997-01-09 2003-04-08 Canon Kabushiki Kaisha Thumbnail manipulation using fast and aspect ratio zooming, compressing and scaling
JP2002359807A (ja) 2001-06-01 2002-12-13 Sony Corp ディジタルスチルカメラ
JP2002335396A (ja) * 2002-02-01 2002-11-22 Sharp Corp 画像圧縮データ処理装置および画像表示方法
JP2005277908A (ja) * 2004-03-25 2005-10-06 Nec Access Technica Ltd 画像処理装置、その画像処理方法およびカメラつき携帯電話
JP2005352703A (ja) * 2004-06-09 2005-12-22 Fuji Xerox Co Ltd 画像処理装置
JP4151684B2 (ja) 2005-01-26 2008-09-17 ソニー株式会社 符号化装置、符号化方法および符号化プログラム、並びに撮像装置
JP2007067917A (ja) 2005-08-31 2007-03-15 Matsushita Electric Ind Co Ltd 画像データ処理装置
KR100834669B1 (ko) * 2006-10-20 2008-06-02 삼성전자주식회사 썸네일 이미지 생성을 위한 웨이블릿 변환 기반 이미지부호화기, 복호화기 및 그 방법
KR20090076022A (ko) 2008-01-07 2009-07-13 엘지전자 주식회사 썸네일 생성 장치 및 이를 포함한 멀티코덱 디코더 장치
JP5248980B2 (ja) * 2008-10-27 2013-07-31 キヤノン株式会社 撮像装置及びその制御方法及びプログラム
US8179452B2 (en) 2008-12-31 2012-05-15 Lg Electronics Inc. Method and apparatus for generating compressed file, and terminal comprising the apparatus
KR101607295B1 (ko) 2009-07-31 2016-04-11 엘지전자 주식회사 압축 파일 생성 방법 및 장치, 이와 관련된 카메라 모듈 및 이를 포함하는 단말기
JP4848462B2 (ja) 2010-03-04 2011-12-28 株式会社モルフォ 圧縮画像の部分伸長方法および画像処理装置
KR101905621B1 (ko) * 2012-02-16 2018-10-11 삼성전자 주식회사 카메라의 프레임 이미지 전송 장치 및 방법
JP2014099742A (ja) 2012-11-14 2014-05-29 Canon Inc カラーモノクロ判定
US9727972B2 (en) 2013-12-30 2017-08-08 Xiaomi Inc. Method and terminal for generating thumbnail of image
CN103714161B (zh) * 2013-12-30 2017-06-16 小米科技有限责任公司 图像缩略图的生成方法、装置和终端
US9503644B2 (en) * 2014-05-22 2016-11-22 Microsoft Technology Licensing, Llc Using image properties for processing and editing of multiple resolution images

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005341382A (ja) * 2004-05-28 2005-12-08 Sony Corp 画像処理装置,撮像装置,コンピュータプログラムおよび画像処理方法
CN103945225A (zh) * 2005-11-30 2014-07-23 高通股份有限公司 用于图像和视频处理的缩放器结构
KR20110038467A (ko) * 2009-10-08 2011-04-14 엘지전자 주식회사 압축 파일 생성 방법 및 장치, 이를 포함하는 단말기
CN106028117A (zh) * 2016-05-24 2016-10-12 青岛海信电器股份有限公司 一种图像处理方法及装置

Also Published As

Publication number Publication date
KR20190085515A (ko) 2019-07-18
KR102293883B1 (ko) 2021-08-26
JP2020501455A (ja) 2020-01-16
EP3552379A4 (en) 2020-05-06
JP6961696B2 (ja) 2021-11-05
US20180167622A1 (en) 2018-06-14
JP7194247B2 (ja) 2022-12-21
EP3552379B1 (en) 2021-06-16
US10284861B2 (en) 2019-05-07
WO2018106856A1 (en) 2018-06-14
EP3552379A1 (en) 2019-10-16
JP2022009091A (ja) 2022-01-14
CN110050458A (zh) 2019-07-23

Similar Documents

Publication Publication Date Title
JP2015225665A (ja) 画像ノイズ除去方法及び画像ノイズ除去装置
JP6726060B2 (ja) 画像処理装置およびその制御方法ならびにプログラム
JP2015522988A (ja) 連続座標系を活用する動き補償および動き予測
JP2007067917A (ja) 画像データ処理装置
JP6236259B2 (ja) 画像処理装置、画像処理方法、及び画像処理プログラム
JP4337463B2 (ja) 画像処理装置、画像処理システム、撮像装置および画像処理方法
CN112017228A (zh) 一种对物体三维重建的方法及相关设备
US9706220B2 (en) Video encoding method and decoding method and apparatuses
KR101262164B1 (ko) 저 해상도 깊이 맵으로부터 고 해상도 깊이 맵을 생성하는 방법 및 이를 기록한 기록매체
WO2024164710A1 (zh) 一种帧间编码方法、装置、电子设备及计算机可读介质
JP5938935B2 (ja) 動画像符号化装置及び動画像符号化方法
JP5759126B2 (ja) パターン識別装置及びその制御方法、プログラム
CN110050458B (zh) 并发地执行图像压缩和缩略图生成的方法及用于该方法的设备
JP4563982B2 (ja) 動き推定方法,装置,そのプログラムおよびその記録媒体
JP6235860B2 (ja) 情報処理装置及びその制御方法、プログラム
KR20150110541A (ko) 보간 방법 및 대응 디바이스
CN112435168B (zh) 一种参考块缩放方法及计算机可读存储介质
JP2022090059A (ja) 動画像符号化方法
JP2004062103A (ja) 画像処理装置および方法、情報処理装置および方法、記録媒体、並びにプログラム
JP4803224B2 (ja) 画像処理装置、画像処理システム、撮像装置および画像処理方法
CN106331720B (zh) 一种视频解码相关信息存储方法和装置
JP7310919B2 (ja) フィルタ生成方法、フィルタ生成装置及びプログラム
JP6600290B2 (ja) 画像差異検出方法、画像差異検出装置及び画像差異検出プログラム
JP6265705B2 (ja) 画像符号化装置及び画像符号化方法
CN118429182A (zh) 一种图像处理方法、装置、设备和存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant