CN102625100B - 图像编码方法 - Google Patents

图像编码方法 Download PDF

Info

Publication number
CN102625100B
CN102625100B CN201210026893.8A CN201210026893A CN102625100B CN 102625100 B CN102625100 B CN 102625100B CN 201210026893 A CN201210026893 A CN 201210026893A CN 102625100 B CN102625100 B CN 102625100B
Authority
CN
China
Prior art keywords
color
block
basic colors
pixels
candidate
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
CN201210026893.8A
Other languages
English (en)
Other versions
CN102625100A (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.)
ARM Ltd
Original Assignee
Advanced Risc Machines Ltd
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 Risc Machines Ltd filed Critical Advanced Risc Machines Ltd
Publication of CN102625100A publication Critical patent/CN102625100A/zh
Application granted granted Critical
Publication of CN102625100B publication Critical patent/CN102625100B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • 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/46Colour picture communication systems
    • H04N1/64Systems for the transmission or the storage of the colour picture signal; Details therefor, e.g. coding or decoding means therefor
    • H04N1/644Systems for the transmission or the storage of the colour picture signal; Details therefor, e.g. coding or decoding means therefor using a reduced set of representative colours, e.g. each representing a particular range in a colour space
    • 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/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
    • 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/186Methods 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 colour or a chrominance component
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Color Television Systems (AREA)

Abstract

本发明涉及图像编码方法。提供了一种根据预定编码格式生成图像编码的编码方法,每一个像素块被编码为经编码像素颜色集合,该经编码像素颜色集合包括基本颜色和相对于基本颜色的亮度偏移量的集合。基本颜色是从预定基本颜色集合中选择的,亮度偏移量集合被编码为对至少一个预定表格的亮度偏移量值的参考的集合。预定基本颜色集合和亮度偏移量值在颜色空间中定义了亮度线集合,经编码像素颜色位于至少一条亮度线上。该方法包括针对每一个像素块执行的以下步骤:确定像素块颜色的平均颜色;依据平均颜色在颜色空间中离至少一条亮度线的偏移量来选择至少一条亮度线;识别位于该至少一条亮度线上的候选基本颜色集合;以及使用候选基本颜色集合和亮度偏移量值来确定经编码像素颜色集合。

Description

图像编码方法
技术领域
本发明涉及用于根据预定编码格式对图像进行编码的编码方法。特别地,本发明涉及如下这样的编码方法:当预定编码格式以像素块为单位对图像进行编码时,每一个像素块被编码为包括基本颜色(base color)和相对于该基本颜色的亮度偏移量集合的经编码像素颜色集合。
背景技术
已知有各种用于编码图像的编码格式。这些格式所体现的特定技术取决于得到的经编码图像中的各种因素的相对重要性而不同,所述各种因素例如是:编码是否应当无损,得到的编码图像的所需数据大小以及经编码图像的整体质量。广泛使用并且公知的一组图像编码格式是由JPEG组定义的那些编码格式。但是,诸如JPEG之类的预定编码格式并不适合所有应用,特别是需要对经编码图像中的像素区域进行随机访问的那些应用。这例如可能是如下情况:经编码图像提供了要在图形应用中使用的经压缩纹理。这是因为诸如JPEG之类的编码格式依赖于这样的技术:这种技术相对于同一图像内的在前像素块对图像内的像素块进行编码。虽然这实现了更高的数据压缩程度,但是这种方法要求将图像作为整体进行解码,因而这种编码格式并不适合诸如纹理渲染(texture rendering)之类的应用,这些应用需要对给定图像的子部进行随机访问。
因此,已知根据确实允许这种随机访问的预定编码格式对图像进行编码。通常,在这样的编码格式中,在代表能够单独编解码的图像的最小单位的像素块(例如,4×4)中对图像进行编码。利用这种编码格式的一种已知技术是通过基本颜色和相对于该基本颜色的亮度偏移量集合来表示像素块。换而言之,对于以这种方式编码的每一个块,针对所有像素仅定义一种颜色,而每一个像素的亮度被给定为相对于该基本颜色的偏移量。一般而言,这产生可接受的图像质量,因为人眼对于局部色度变差的敏感度低于对局部亮度变差的敏感度。
但是,与根据这种编码格式(ETC格式(Ericsson纹理压缩)是其中的一个示例)来生成经编码图像相关联的一个问题在于生成经压缩(经编码)图像所需的处理时间。例如,当使用现有工具来创建ETC经压缩纹理时,对于那些工具所支持的最高质量而言,处理时间可能约为每秒300至400像素,或者针对典型纹理的30分钟至1小时。这么长的处理时间源于针对每一个像素块在可用编码空间中执行搜索以找出基本颜色和亮度偏移量的最佳组合。为了产生最高质量的经压缩纹理,搜索是多维且广泛的,从而导致这些长处理时间。但是,在开发和测试图形应用时,这样的长处理时间是不可接受的,因为应用可能包括数十或数百个纹理,并且开发者需要能够在开发期间评价经压缩纹理的质量。
图1A示意性地图示出了4×4的像素块10。通常,当根据诸如ETC之类的编码格式来编码这样的像素块时,每个块事实上是按照彼此相邻的两个半块(half-block)来编码的。如图1A所示,像素块10可通过垂直分割来划分成两个半块。等同地,同一个像素块也可凭借水平分隔来划分成两个半块。
ETC编码格式定义了8个表格的亮度偏移量,如图1B所示。因此,针对每个半块来定义基本颜色,并且凭借一个3比特的表格号和八个2比特的表格条目号来编码该半块中的八个像素。
根据ETC标准定义了两种编码,即,绝对编码和差分编码,如图1C所示。每一种编码使得像素块被编码为单个64比特的值。在绝对编码中,对各个半块进行独立编码。每一个半块的基本颜色被编码为12比特(444)的RGB值,并且整个块的编码由24比特表示,这24比特给出了构成该块的第一和第二半块的基本颜色的R、G和B分量。之后跟随两个3比特的值,这两个3比特的值给出了用于每一个半块的亮度偏移量表格。“diff”比特指示出已经使用绝对编码还是差分编码来对该块进行编码。“flip”比特指示出已经水平地还是垂直地将块分割成半块。最后,两个半块的16个单独像素各自由2个比特表示,这2个比特给出了它们在所选表格中的相应条目。编码格式将这些像素分组成16MSB和16LSB。
差分编码被类似地定义,除了在差分编码中,第二半块的基本颜色被定义为相对于第一半块的偏移量。因此,第一半块的基本颜色被给予15比特(555)的RGB值,而第二半块的R、G和B偏移量各自被给予3比特的偏移量。这在定义基本颜色方面实现了更高的精度,但是唯有半块的基本颜色相互足够接近以使得能够由这些3比特偏移量表示才行。否则,使用绝对编码。
用于编码半块的基本颜色的24比特与可在编码中定义的预定基本颜色集合相对应。图2A示意性地图示出了该预定基本颜色集合。注意,为了图示清楚起见,仅示出了二维表示,其中仅示出了R和G分量(第三维中的B分量被省略)。用于编码给定半块而选择的基本颜色通常是参考该半块中的像素的平均颜色来选择的。由于经编码像素被编码为相对于所选基本颜色的亮度偏移量,所以图2A中的斜线(亮度线)约束了经编码像素可在该颜色空间中所处的位置。
如图2A所示,存在一种以上的用于从可用于计算出的给定平均颜色的预定基本颜色集合选择基本颜色的方式。基本颜色30是在最接近的亮度线上的最接近基本颜色,而基本颜色40是在几何上最接近的基本颜色。
图2B以图形方式图示出了凭借离基本颜色的亮度偏移量来对给定像素值编码。(从预定表格的亮度偏移量选择的)亮度偏移量给出了经压缩像素颜色相对于基本颜色在该颜色空间中的位置。经压缩像素颜色和原始像素颜色之间的距离给出了该像素的编码误差。
图3示出了通过现有的ETC压缩算法针对每一个半块的像素的基本颜色执行的搜索范围。在依据该半块的像素的平均颜色已经选择初始基本点(即,基本颜色)之后,在围绕起始基本点的基本点容纳体中执行搜索以查明是否找到了改进的编码。在高质量版本的压缩中,考察了7×7×7的搜索体积(在示出的2D表示中被表示为7×7的搜索区域)。在这些编码中,选择使得针对半块的总编码误差最小化的编码。这是针对这7×7×7(即,343)个候选基本点的每一个的所有8个可能表格来计算出最佳编码的迭代处理,该处理对于现有压缩工具而言将产生冗长的处理过程。
针对这样的图像编码/压缩的一些现有方案的描述可从如下文献中找到:
Jacob Strom和Tomas Akenine-Moller所著的描述ETC压缩格式的(从http://www.graphicshardware.org/previous/www_2005/presentations/strom- ipackman-gh05.ppt检索到的)演讲稿“iPackman-High-Quality,LowComplexity Texture Compression for Mobile Phones”;
(从http://www.khronos.org/registry/gles/extensions/OES/OES_compressed_ETC1 RGB8_texture.txt可得的)ETC格式的完整Khronos标准;
J.M.P.van Waveren的论文“Real Time DXT Compression”,2006年5月(http://cache-www.intel.com/cd/00/00/32/43/324337_324337.pdf);以及(2010年11月12日从http://code.google.com/p/nvidia-texture- tools/wiki/ApiDocumentation检索到的)NVIDIA纹理工具的描述。
但是,上述的冗长处理时间在现有技术方案中是很普遍的,因此希望提供一种用于生成高质量编码的改进技术,其需要较少的处理时间。
发明内容
从第一方面看,本发明提供了一种根据预定编码格式来生成图像的编码的编码方法,其中,所述预定编码格式在像素块中编码所述图像,每一个像素块被编码为经编码像素颜色的集合,该经编码像素颜色的集合包括基本颜色和相对于所述基本颜色的亮度偏移量的集合,
其中,所述基本颜色是从在预定颜色空间中定义的预定基本颜色集合中选择的,
其中,所述亮度偏移量的集合被编码为对至少一个预定表格的亮度偏移量值的参考的集合,
并且其中,所述预定基本颜色集合和所述亮度偏移量值在所述预定颜色空间中定义了亮度线的集合,所述经编码像素颜色位于所述亮度线中的至少一条亮度线上,
所述方法包括针对每一个像素块执行的以下步骤:
确定所述预定颜色空间中的所述像素块的颜色的平均颜色;
依据所述平均颜色在所述颜色空间中的离至少一条亮度线的偏移量来选择所述至少一条亮度线;
识别位于所述至少一条亮度线上的候选基本颜色集合;以及
使用所述候选基本颜色集合和所述亮度偏移量值来确定所述经编码像素颜色的集合,其中,所述基本颜色和所述亮度偏移量的集合是依据指示出所述经编码像素颜色的集合与所述像素块的所述颜色之间的在所述颜色空间中的距离总和(sum distance)的编码误差来选择的。
当根据在像素块中编码图像的预定编码格式来编码图像时,每一个像素块被编码为经编码像素颜色的集合,该经编码像素颜色的集合包括基本颜色和相对于该基本颜色的亮度偏移量的集合,本发明的发明人意识到可以通过从位于至少一条亮度线上的候选基本颜色集合中为每一个像素块选择基本颜色来提供改进方法,所述至少一条亮度线贯穿了编码所操作于的预定颜色空间。该预定颜色空间中的亮度线由可用于编码的预定基本颜色集合来定义。因此,根据本发明的技术,针对要编码的每一个像素块,首先确定该像素块的像素的平均颜色,然后依据该平均颜色在预定颜色空间中离至少一条亮度线的偏移量来选择至少一条亮度线。这至少一条亮度线于是提供了随后用于确定最终编码的候选基本颜色集合。
已经发现,不是使用例如形成近似以要编码的像素块的平均颜色为中心的立方体(例如,图3所示的7×7×7的搜索体)的基本颜色集合来识别候选基本颜色集合,而是,如果参考贯穿预定颜色空间的亮度线来选择候选基本颜色则可提供改进的编码方法。
这是由于以下事实:将像素块编码为基本颜色和相对于该基本颜色的亮度偏移量的集合的编码格式在设定亮度值方面比在设定色度值方面提供了更大的灵活度。此外,由于经编码像素颜色被约束为位于贯穿预定颜色空间的亮度线中的一条亮度线上(因为每一个经编码像素颜色被表示为沿着这些亮度线之一的离位于该亮度线上的某处的基本颜色的偏移量),所以通过参考亮度线来执行选择而不是通过使用围绕像素块的平方像素颜色的空间搜索,改进了对用于编码特定像素块的最佳基本颜色的识别。例如当像素块的颜色广泛分布于预定颜色空间中时(这意味着像素块的平均颜色的位置并不特别代表个体像素颜色),这种技术可能特别有益。在这种情形中,亮度线可能比围绕平均颜色的预定搜索空间更加适合于提供候选基本颜色。
使得基于亮度线的方案更加有利的又一个因素在于定义了预定颜色空间中的具有增长亮度的线的亮度线不必然是具有恒定色度的线,这是因为亮度可以超过一颜色分量达到饱和的点而增长或减小。从图解的角度看,这表示亮度线满足预定颜色空间的边缘的情形。因此,亮度线不必然采取穿过该预定颜色空间的单一径直路径。因此,可能存在更佳地与给定像素颜色集合匹配的亮度线,而另一方面那些像素的平均颜色的位置更接近将仅仅允许对像素颜色进行较差编码的基本颜色。特别地,这可能是如下的情况:最接近预定颜色空间中的平均像素颜色的基本颜色在色度方面与各个像素颜色显著不同,这是因为预定编码格式仅仅允许各个像素在离基本颜色的亮度偏移量方面不同,并因而该色度差异可能产生(在经编码像素颜色与原始像素颜色之间的)很大的编码误差。
将了解,存在各种可以定义偏移量的方式,但是在一个实施例中,所述颜色空间中的所述偏移量是所述平均颜色和所述至少一条亮度线之间的最接近路径的距离。
还将了解,存在各种可以定义编码误差的方式,但是在一个实施例中,所述编码误差被计算为所述经编码像素颜色的集合与所述像素块的所述颜色之间的平方距离的总和(a sum of squared distances)。
在一个实施例中,所述选择所述至少一条亮度线的步骤包括选择具有最小的所述偏移量的值的三条亮度线。在三维预定颜色空间(例如,RGB)的上下文中,选择三条亮度线是特别适当的,这是因为给定平均颜色的位置将被三条亮度线包围。这三条亮度线中的哪条亮度线将证实最适合提供用于编码的基本颜色将取决于像素块的像素颜色相对于每一条线的位置。
在一个实施例中,所述选择至少一条亮度线的步骤包括迭代的亮度线选择过程,所述迭代的亮度线选择过程包括以下步骤:
审查已经选择的亮度线的相邻亮度线;以及
如果所述像素块的所述颜色离所述相邻亮度线的总偏移量不大于所述像素块的所述颜色离所述已经选择的亮度线的总偏移量,则选择所述相邻亮度线。
因此,凭借该迭代的亮度线选择过程可以选择多于一条的亮度线。该迭代的亮度线选择过程的提案基于如下认知:依据其在预定颜色空间中离像素块的平均颜色的偏移量来选择的初始亮度线事实上可能并没有提供作为针对该像素块的最佳编码的基本颜色。例如,由于亮度线穿过预定颜色空间所采取的路径,最接近各个像素颜色的亮度线可能与最接近那些像素的平均颜色的亮度线不同。因此,该迭代的亮度线选择过程对相邻亮度线进行审查并对像素块的颜色离该相邻亮度线的总偏移量和像素块的颜色离已经选择的亮度线的总偏移量进行比较,并且如果结果是相邻亮度线更接近像素块的颜色(就总偏移量而言),则该相邻亮度线也被选择。
将了解,存在各种可以计算总偏移量的方式,但是在一个实施例中,所述总偏移量被计算为所述像素块的所述颜色与各条亮度线的相应最接近点之间的平方距离的总和。
在一个实施例中,仅在所述相邻亮度线在颜色饱和度方面相对于所述已经选择的亮度线体现出增长的情况下,所述相邻亮度线才被审查。在考虑预定颜色空间中的亮度线时,已经意识到:最接近像素块的颜色(例如,在均方根(RMS)距离方面)的亮度线或者是最接近像素的平均颜色的线或者是比该线具有更高饱和度颜色的线。因此,当作为迭代的亮度线选择过程的一部分来选择其他亮度线时,有利的是仅考虑选择在颜色饱和度方面相对于已经选择的亮度线体现出增长的相邻亮度线。
在一个实施例中,仅在所述已经选择的亮度线的所述总偏移量具有非零值的情况下,所述相邻亮度线才被审查。已经意识到:像素颜色的某些特定配置可能产生在那些像素颜色与给定亮度线之间的总偏移量的零值。例如,这可能是如下这种情况:像素颜色直接位于一条或多条亮度线上,这例如在像素颜色位于预定颜色空间的颜色完全饱和边缘上时是可能的。在这种情形中,不必审查相邻亮度线。
在一个实施例中,当多条亮度线被选择时,所述多条亮度线被按每一条亮度线的总偏移量来排序。在针对编码像素颜色的任意给定集合的编码误差必须至少是针对相应亮度线的总偏移量的情况下,有利的是存在按它们的总偏移量进行排序了的多条亮度线。平均而言,具有最小总偏移量的亮度线最可能产生最低编码误差。但是,应当认识到,具有最小总偏移量的线不必然产生最低编码误差,这是因为这取决于像素颜色相对于该亮度线上的可用基本颜色的特定位置。例如,如果像素颜色恰巧相对较远离可用基本颜色则可能发生这种情况,于是另一条亮度线可能提供针对该像素块的更小编码误差。
在一个实施例中,所述确定所述经编码像素颜色的集合的步骤包括迭代的亮度线考虑过程,其中,所述识别位于所述至少一条亮度线上的候选基本颜色集合的步骤和所述确定所述经编码像素颜色的集合的步骤被针对所述多条亮度线、按增长的总偏移量的顺序来执行。已经选择了多条亮度线之后,用于审查它们的最程序高效的方式是按增长的总偏移量的顺序。
在一个实施例中,所述确定所述经编码像素颜色的集合的步骤包括迭代的编码确定过程,该迭代的编码确定过程包括针对所述候选基本颜色的集合中的每一个候选基本颜色的以下步骤:
使用应用于所述候选基本颜色的所述亮度偏移量值来确定经编码像素颜色的候选集合;
确定所述经编码像素颜色的候选集合的候选编码误差,该候选编码误差指示出所述像素块的所述颜色与所述经编码像素颜色的候选集合之间的在所述颜色空间中的距离总和;
如果所述候选编码误差低于针对所述像素块确定的任何在前候选编码误差,则将所述候选编码误差设定为最佳编码误差;
将所述候选基本颜色和当被应用于所述候选基本颜色时给出所述最佳编码误差的那些亮度偏移量值选择为所述基本颜色和所述亮度偏移量的集合。
因此,在已经确定候选基本颜色集合的情况下,可以轮流地取入每一个候选基本颜色以使用应用于该候选基本颜色的亮度偏移量值来确定经编码像素颜色的候选集合。在此基础上,可以确定指示出像素块的颜色与经编码像素颜色的候选集合之间的在颜色空间中的距离总和的候选编码误差。针对这样确定的每一个候选编码误差,如果发现其低于任何在前的候选编码误差,则该候选编码误差被设定为最佳编码误差。这样,随着每一个候选基本颜色被考虑,保持跟踪目前为止所发现的最佳编码误差,并且在处理的结尾,基本颜色和给出最佳编码误差的亮度偏移量集合可被用作针对该像素块选中基本颜色和亮度偏移量集合。
在一个实施例中,所述至少一个预定表格的亮度偏移量值包括多个预定表格的亮度偏移量值,并且所述使用应用于所述候选基本颜色的所述亮度偏移量值来确定所述经编码像素颜色的候选集合的步骤包括使用所述多个预定表格的亮度偏移量值中的每一个表格来迭代地确定所述经编码像素颜色的候选集合。
于是,当多个预定表格的亮度偏移量值被提供时,使用应用于候选基本颜色的亮度偏移量值来确定经编码像素颜色的候选集合的步骤可以轮流地尝试每一个表格的亮度偏移量值以寻求找到最佳编码误差。
在一个实施例中,所述编码误差被累积地确定为累积编码误差,并且如果针对在考虑中的当前表格的亮度偏移量值的所述累积编码误差超过了所述最佳编码误差,则使用所述当前表格的亮度偏移量值来确定所述经编码像素颜色的候选集合被终止。因此,随着每一个表格的亮度偏移量值被考虑,编码误差被累积地确定,并且如果该累积误差超过了先前发现的最佳编码误差,则可以知晓,使用该表格的最终编码误差只会超过目前为止发现的最佳编码误差,并且通过终止针对该表格的亮度偏移量值的计算可以节省处理时间。可以逐像素地评估该累积编码误差,并且在一个实施例中,针对所述像素块的所述颜色来逐像素地将所述累积编码误差与所述最佳编码误差进行比较。因此,只要针对给定像素的计算使得累积误差超过目前为止发现的最佳编码误差,就可以终止考虑(如被应用于在考虑中的当前基本颜色的)该表格的亮度偏移量值。
在一个实施例中,在考虑下一条亮度线之前,如果针对所述下一条亮度线的所述总偏移量超过了所述最佳编码误差,则所述迭代的亮度线考虑过程被终止,并且所述下一条亮度线和所述多条亮度线中的任何其他亮度线都不被考虑。这是因为如下事实:如上所述,使用给定亮度线上的基本颜色的编码误差必须至少与针对该亮度线的总偏移量一样大。因此,在迭代的亮度线考虑过程期间,如果发现针对下一条亮度线的总偏移量超过了目前为止发现的最佳编码误差,则可以立即得出该下一条亮度线无法继续改进最佳编码误差,并且任何其他亮度线也都无法继续改进最佳编码误差,这是因为这些亮度线被按总偏移量进行了排序。如此这样,目前为止发现的最佳编码误差无法被继续改进,并且迭代的亮度线考虑过程可立即被终止。
在一个实施例中,所述块各自包括2个像素乘以4个像素的集合。
在一个实施例中,以相互依赖的方式来编码所述像素块中的至少一对相邻块,所述配对的相邻块中的第二块被参考所述配对的相邻块中的第一块来编码。可以发现以相互依赖的方式来编码配对的相邻块在编码效率方面是很有利的。例如,如果要使用24比特来编码两个相邻像素块的基本颜色,同时每一个基本颜色可以用12比特进行编码,则通过使用15比特(例如,RGB 555)来编码一个基本颜色,同时将另一个基本颜色定义为相对于该基本颜色的3比特偏移量的集合,可以实现更大的基本颜色定义精度。如果两个块的基本颜色之间的差异足够小到可以用该3比特偏移量的集合进行表示,则这当然是可能的。
在一个实施例中,所述配对的块在水平方向上相邻,而在另一个实施例中,所述配对的块在垂直方向上相邻。
在一个实施例中,方法还包括针对每一个像素块来判断所述编码误差在该像素块被以所述相互依赖的方式来编码时更低还是在该像素块被以不参考另一个像素块的独立方式来编码时更低。随后可以选择针对该像素块给出最低编码误差的编码方式。
在一个实施例中,方法还包括针对每一个像素块来迭代地确定针对所有编码方式的所述编码误差以及选择给出所述编码误差的总体最低值的编码方式。因此,逐块地,独立/相互依赖编码和水平/垂直分割的每一次置换(permutation)可被测试以确定哪次置换给出了最佳编码。还可以针对每一种不同的相互依赖编码来判断是否在第一块依赖于第二块的情况下产生较低编码误差(向块的配对给予任意的第一和第二标号),反之亦然。
在一个实施例中,在所述颜色空间中的距离计算是根据人类对所述颜色空间中的每一个颜色分量的灵敏度来进行了知觉加权的。由于人眼对不同颜色分量的灵敏度的差异,通过将此现象作为因素计入距离计算中可以获得编码质量方面的可感知的改进。
在一个实施例中,所述编码误差被计算为峰值信噪比。这也可被判定为给出了改进的编码质量。
在一个实施例中,所述图像是纹理图像。纹理图像需要被图形应用随机访问,并因而基于块的编码特别适合。
在一个实施例中,所述预定编码格式是ETC格式。
从第二方面看,本发明提供了一种计算机程序产品,其以非瞬态方式存储被配置为使得计算机执行第一方面的编码方法的计算机程序。
从第三方面看,本发明提供了一种被配置为根据预定编码格式来生成图像的编码的编码设备,其中,所述预定编码格式在像素块中编码所述图像,每一个像素块被编码为经编码像素颜色的集合,该经编码像素颜色的集合包括基本颜色和相对于所述基本颜色的亮度偏移量的集合,
其中,所述基本颜色是从在预定颜色空间中定义的预定基本颜色集合中选择的,
其中,所述亮度偏移量的集合被编码为对至少一个预定表格的亮度偏移量值的参考的集合,
并且其中,所述预定基本颜色集合和所述亮度偏移量值在所述预定颜色空间中定义了亮度线的集合,所述经编码像素颜色位于所述亮度线中的至少一条亮度线上,
被配置为对每一个像素块执行操作的所述设备包括:
平均颜色确定单元,被配置为确定所述预定颜色空间中的所述像素块的平均颜色;
亮度线选择单元,被配置为依据所述平均颜色在所述颜色空间中的离至少一条亮度线的偏移量来选择所述至少一条亮度线;
候选基本颜色识别器,被配置为识别位于所述至少一条亮度线上的候选基本颜色集合;以及
确定单元,被配置为使用所述候选基本颜色集合和所述亮度偏移量值来确定所述经编码像素颜色的集合,其中,所述基本颜色和所述亮度偏移量的集合是依据指示出所述经编码像素颜色的集合与所述像素块的所述颜色之间的在所述颜色空间中的距离总和的编码误差来选择的。
从第四方面看,本发明提供了一种用于根据预定编码格式来生成图像的编码的编码设备装置,其中,所述预定编码格式在像素块中编码所述图像,每一个像素块被编码为经编码像素颜色的集合,该经编码像素颜色的集合包括基本颜色和相对于所述基本颜色的亮度偏移量的集合,
其中,所述基本颜色是从在预定颜色空间中定义的预定基本颜色集合中选择的,
其中,所述亮度偏移量的集合被编码为对至少一个预定表格的亮度偏移量值的参考的集合,
并且其中,所述预定基本颜色集合和所述亮度偏移量值在所述预定颜色空间中定义了亮度线的集合,所述经编码像素颜色位于所述亮度线中的至少一条亮度线上,
被配置为对每一个像素块执行操作的所述设备装置包括:
平均颜色确定装置,用于确定所述预定颜色空间中的所述像素块的平均颜色;
亮度线选择装置,用于依据所述平均颜色在所述颜色空间中的离至少一条亮度线的偏移量来选择所述至少一条亮度线;
候选基本颜色识别装置,用于识别位于所述至少一条亮度线上的候选基本颜色集合;以及
确定装置,用于使用所述候选基本颜色集合和所述亮度偏移量值来确定所述经编码像素颜色的集合,其中,所述基本颜色和所述亮度偏移量的集合是依据指示出所述经编码像素颜色的集合与所述像素块的所述颜色之间的在所述颜色空间中的距离总和的编码误差来选择的。
附图说明
将仅通过示例参考如附图中所图示出的本发明的实施例来进一步描述本发明,在附图中:
图1A示意性地图示出了要被编码的像素块,该像素块被垂直地划分成两个半块;
图1B示意性地示出了由ETC格式定义的8个预定亮度偏移量表格的集合;
图1C示出了根据ETC格式对每一个像素块进行64比特编码的分类,两者均用于绝对编码和差分编码;
图2A示出了在预定颜色空间中的像素颜色集合、那些像素的平均颜色以及预定的可能基本颜色集合;
图2B图示出了利用基本颜色和与原始像素颜色进行比较的亮度偏移量对经压缩像素颜色的编码;
图3示出了根据现有技术编码方法考虑的候选基本点所在的搜索区域(容纳体);
图4A图示出了最接近平均像素颜色的亮度线和相对于原始像素颜色的最佳亮度线;
图4B图示出了指示出增长的颜色饱和度的方向的亮度线集合;
图5A示意性地图示出了在一个实施例中用于确定给定像素块的最佳编码所采取的一系列步骤;
图5B图示出了在图5A所示的处理中使用的差分计算所涉及的步骤;
图6示意性地图示出了在一个实施例中当确定亮度线的候选集合时所采取的一系列步骤;
图7示意性地图示出了在一个实施例中当执行迭代的亮度线考虑过程时所采取的一系列步骤;
图8示意性地图示出了在一个实施例中、在迭代的编码确定过程中当考虑亮度线上的候选基本颜色集合时所采取的一系列步骤;以及
图9示意性地图示出了可用于实现各个实施例的通用计算设备。
具体实施方式
图4A图示出了来自像素块(具体地,来自2×4个像素的半块)的8个像素颜色的集合,其图示出了为什么平均像素颜色的附近区域不包含用于编码这些像素颜色的最佳基本颜色。由于原始像素颜色散布在两个群组(一个群组相对接近原点,另一个群组在高R/低G区域)中这一事实,所以平均像素颜色落在这两个群组之间的中R/低G值的某处。注意,应当了解,虽然图4A和4B是针对二维颜色空间(RG)来示出的,但是这仅仅是为了图示清楚起见,并且预定颜色空间更通常情况下是三维的(RGB)。从图4A可以看出,最接近平均像素颜色的(在“最接近的亮度线”上的)基本颜色预期仅能够提供具有相对较大的编码误差的经编码像素颜色集合。左侧的像素群组没有极大地偏离该基本颜色所位于的亮度线,并因而能够以相对较大的负亮度偏移量来相当不错地编码,而右侧的像素颜色群组保持离该亮度线较远距离,并因而仅能够以相对较大的编码误差来编码。对比之下,可以看出最佳基本颜色位于离左侧像素群组和右侧像素群组都较近的亮度线(“最佳亮度线”)上。
本发明的发明人特别认识到,通过选择不是最接近给定的像素颜色群组的平均像素颜色的亮度线的亮度线而针对这些像素能够实现的编码误差方面的改进(如果这会发生)仅对于相对于最接近平均像素颜色的亮度线体现出颜色饱和度方面的增长的亮度线才会发生。图4B示出了亮度线的颜色饱和度的增长行程。返回来参考图4A,“最佳亮度线”比“最接近的亮度线”处在更高的颜色饱和度。因此,本发明的实施例提议了一种迭代式的亮度线选择过程,其中,具有增长的颜色饱和度的亮度线被迭代地考虑(如以下将更详细描述的)。
图5A中示意性地阐示了本发明的一个实施例的总体编码过程。根据图5A所阐示的步骤来处置每一个4×4的像素块。首先,在步骤100-135中,执行多个差分编码计算。这些步骤包括将4×4的块划分成两个2×4的半块并确定一个半块相对于另一个半块的编码。将块向两个半块的划分可以是水平的或者垂直的,并且每一个半块都可被处置为“第一”半块,“第二”半块被相对于该“第一”半块来差分地编码。首先,在步骤100,将块垂直地划分,将左侧的半块设定为“第一块”并将右侧的半块设定为“第二块”。然后,在步骤105,执行差分计算以确定该置换的编码误差。步骤105处的差分计算被如图5B所示地执行。这里,在步骤160,首先针对第一半块计算最佳的无限制差分编码。然后,在步骤165,确定第二半块相对于第一半块的最佳差分编码。最后,在步骤170,基于原始像素值和经压缩像素值之间的(在颜色空间中的)差异来确定该块的总体编码误差。
返回到图5A,随后在步骤110和115中重复在步骤100和105中执行的处理,除了现在将右侧的半块设定为“第一块”并将左侧的半块设定为“第二块”之外。类似地,在步骤120、125、130和135中,相同的过程被执行,只不过现在将块水平地分割成上半块和下半块,并且针对上半块来相对于下半块执行差分计算,然后反转,即,针对下半块来相对于上半块执行差分计算。
从而已经考虑了所有的差分编码置换,并且在步骤140,针对向两个半块的水平分割来确定最佳绝对编码,而在步骤145,针对向两个半块的垂直分割来计算最佳绝对编码。最后在步骤150,将针对作为整体的块给出最低编码误差的最佳总体编码被选择为该块的选中编码。现在将参考图6、7和8来描述如何确定每一个半块的最佳编码的细节。
每一个编码过程开始于图6所示的选择要用于编码的候选亮度线集合的处理。首先,在步骤200,确定半块的平均像素颜色。然后,在步骤205,选择最接近平均像素颜色的三条可编码亮度线。这三条亮度线在用于编码的三维RGB空间中围绕该平均像素颜色。然后,在步骤210,针对这些亮度线中的每一条亮度线,计算像素颜色离该亮度线上的最接近点的平方距离的总和(“总偏移量”),并且将每一条亮度线添加到亮度线候选集合。在该亮度线候选集合中,初始选择的三条亮度线中的每一条被标记为“父”线,并且关于针对每一条亮度线计算出的平方距离的总和对该集合进行排序(sort)。接下来,从步骤215开始执行迭代式的亮度线选择过程。
在步骤215,选择候选列表中被标记为“父”线的亮度线。然后,在步骤220,判断该“父”线是否具有颜色饱和度比父线高的相邻“子”线。注意,在3D颜色空间中,对于每一条父线,通常存在两条具有更高饱和度的相邻子亮度线。还要注意,已经(经由另一父线)审查过的相邻子线通常将不再被考虑。如果存在这样的相邻子亮度线,则在步骤225,选择一子亮度线,并且计算半块的像素颜色离该子亮度线的平方距离的总和。然后,在步骤230,判断该平方距离的总和是否不大于该子亮度线的父亮度线的平方距离总和。如果为真,则在步骤235,将该子线添加到按平方距离的总和进行了排序的候选线集合。最后,在步骤240,判断平方总和是否非零,并且如果是,则还在候选列表中将该子线标记为父线。
在已经将该子线添加到候选线集合的情况下,在步骤250,判断当前在考虑的父线是否有另一条子线,并且如果有,则流程返回到步骤225以处理该子线。但是,如果当前的父线没有另一条子线,或者如果在(上述的)步骤220判定当前在考虑的父线不具有任何具有更高饱和度的相邻子亮度线,则流程行进到步骤255,在该步骤255判断在侯选线集合中是否有被标记为父线并且尚未被处理的另一条亮度线。如果有,则流程返回到步骤215以开始处理该父线。如果在候选集合中没有其它的未经处理父线,则流程行进到步骤260,在该点处完成候选线生成处理。
在根据图6所述的过程选择了亮度线候选集合的情况下,随后可以对该候选亮度线集合进行考虑以确定哪条亮度线给出了产生针对该半块的最佳编码的基本颜色。在一个实施例中根据图7所示意性示出的步骤来执行该过程。首先,在步骤300,从根据它们的总偏移量(即,半块的像素颜色离该亮度线上的最接近点的平方距离的总和)进行排序了的亮度线候选集合中,选择具有最低偏移量的线。然后,在步骤305,确定可用于该线的最佳编码(即,使用定义了该线的亮度偏移量和基本颜色的集合)。下面将参考图8更详细地对此进行描述。已经确定了该线的最佳编码之后,在步骤310,将该线的编码误差确定为该半块的原始像素的颜色和根据此编码进行编码后的像素颜色集合之间的平方距离的总和。如果该编码误差是到此为止已经确定的最佳(即,最低)编码误差,则将该编码误差设定为当前的最佳误差。然后,流程行进到步骤315,在该步骤315中判断在经过排序的列表中是否有另一条候选亮度线。如果有,则流程行进到步骤320,在该步骤320中选择下一条最接近的亮度线(就计算出的总偏移量而言)。然后在步骤325,检查离该线的平方距离的总和(即,针对该线的总偏移量)——该线在候选列表中正是根据这一平方距离的总和来排序的——是否大于目前为止所确定的最佳误差(参见步骤310)。如果是,则对该线或者任何其它线而言不可能在该最佳误差上改进,并且流程行进到结束步骤330,在该步骤330中,使用给出该最佳误差的线(具体地,使用给出该最佳误差的那条线上的基本颜色)来对半块进行编码。但是,如果在步骤325发现,针对候选列表中的该下一条线的总偏移量没有超过目前为止计算出的最佳误差,则流程返回到步骤305以确定针对该下一条线的最佳编码,并在步骤310查看针对该下一条线的编码误差是否在目前为止的最佳误差上改进了。如果在任意一次迭代中,在步骤315判定没有其它的候选线列表,则流程行进到步骤330。
现在参考图8所示的步骤来描述确定给定亮度线的最佳编码(图7中的步骤305)的过程。首先,在步骤400,选择该亮度线上的第一基本点(候选基本颜色)。然后,在步骤405,选择第一表格的亮度偏移量值。然后,根据该表格的亮度偏移量值,在步骤410确定该半块的第一像素的最佳表格条目(即,亮度偏移量值)。这里,“最佳”意指产生该像素的最低编码误差的条目。该像素的编码误差(即,经编码像素颜色和原始像素颜色之间的在颜色空间中的距离)被添加到该半块的累积编码误差。在步骤415,检查该累积编码误差是否超过了该半块的目标误差。注意,在图8中所描述的处理中的针对该第一基本点、第一表格和第一像素的首次迭代中,自然没有预先存在的目标误差,因此在该首次迭代中,步骤415的结果将总是遵循“否”路径。然后,在步骤420判断在该半块内是否有另一个像素,并且如果有,则在步骤425针对该下一个像素确定(当前在考虑中的表格的)最佳表格条目。与该下一个像素相关联的编码误差也被计算出并被添加到该表格的累积误差。如果针对该半块的所有像素完成了步骤415、420和425的循环(即,步骤415的总误差测试没有失败),则在步骤430将针对该当前表格为该半块计算出的总误差设定为新的目标误差。
如果在步骤415的总误差测试失败了或者在步骤430设定了新的目标误差,则流程行进到步骤435,在该步骤435判断是否有可被考虑用于编码该半块的另一个表格。如果有,则在步骤440,选择该下一个表格,并且流程返回到步骤410以尝试使用该表格对该像素半块进行编码。但是,如果在步骤435没有可用的另一个表格,则流程行进到步骤445,在该步骤445中判断当前在考虑中的亮度线上是否有另一个基本点(即,候选基本颜色)。如果有,则流程返回到步骤405,在步骤405再次使用该新的基本颜色来执行相对于可用表格的迭代判断处理。一旦已经考虑了该线上的所有基本点,则流程结束于步骤450,在步骤450中确定针对该线的最佳编码将由给出目标误差的基本颜色和亮度偏移量给出。
应当注意,在一些实施例中,在预定颜色空间中计算出的上述距离被计算为加权了知觉的距离(perception-weighted distance),从而将人眼对不同颜色分量的灵敏度考虑在内。此外,在一些实施例中,可以就峰值信噪比而言来计算编码误差。这样的技术是本领域技术人员所熟悉的,因而这里不做详细描述。
图9示意性地图示了可用于实现上述技术的那种类型的通用计算设备500。通用计算设备500包括经由总线522连接在一起的中央处理单元502、随机访问存储器504和只读存储器506。其还包括网络接口卡508、硬盘驱动器510、显示驱动器512和监视器514、以及具有键盘518和鼠标520的用户输入/输出电路516,它们都经由公共总线522来连接。在操作时,当执行必要计算来确定每一个像素块的编码时,中央处理单元502将执行例如可存储在随机访问存储器504和/或只读存储器506中的计算机程序指令。另外,可从硬盘驱动器510检索或者经由网络接口卡508来动态下载程序指令。可经由所连接的显示驱动器512和监视器514来向用户显示所执行的处理的结果。可经由所连接的用户输入输出电路516从键盘518或鼠标520接收用于控制通用计算设备500的操作的用户输入。将了解,可以各种不同的计算机语言来编写计算机程序。计算机程序可被本地地存储在记录介质上或者动态地下载到通用计算设备500。当在适当计算机程序的控制之下操作时,通用计算设备500可以执行上述技术并且可被视为形成了用于执行上述技术的装置。通用计算设备500的体系结构可以极大地不同,并且图9仅仅是一个示例。
这里描述的技术实现了将比现有技术中已知的技术更快地执行的图像编码。例如,使用现有工具来创建ETC经压缩纹理是非常慢的(对于现有工具所支持的最高质量,每秒300至400像素,或者对于一个典型纹理需要30分钟至1个小时)。这里所描述的技术使得压缩处理加速了最高达125倍(在所测试的示例情况中),从而给出了高达40,000像素每秒的压缩速度。此外,在许多情况中,这同时还产生了比现有算法更高的质量结果。这在开发和测试图形应用的上下文中具有特别的益处,因为应用可能包括数十或数百个纹理,并且这里所描述的技术使得开发者可以在开发期间更快速地评价经压缩纹理的质量。
虽然这里已经描述了特定实施例,但是将了解,本发明不限于此,并且可在本发明的范围内对其进行各种修改和添加。例如,从属权利要求的特征可以与独立权利要求的特征进行各种组合,而不脱离本发明的范围。

Claims (26)

1.一种根据预定编码格式来生成图像的编码的编码方法,其中,所述预定编码格式在像素块中编码所述图像,每一个像素块被编码为经编码像素颜色的集合,该经编码像素颜色的集合包括基本颜色和相对于所述基本颜色的亮度偏移量的集合,
其中,所述基本颜色是从在预定颜色空间中定义的预定基本颜色集合中选择的,
其中,所述亮度偏移量的集合被编码为对至少一个预定表格的亮度偏移量值的参考的集合,
并且其中,所述预定基本颜色集合和所述亮度偏移量值在所述预定颜色空间中定义了亮度线的集合,所述经编码像素颜色位于所述亮度线中的至少一条亮度线上,
所述方法包括针对每一个像素块执行的以下步骤:
确定所述预定颜色空间中的所述像素块的颜色的平均颜色;
依据所述平均颜色在所述颜色空间中的离至少一条亮度线的偏移量来选择所述至少一条亮度线;
识别位于所述至少一条亮度线上的候选基本颜色集合;以及
使用所述候选基本颜色集合和所述亮度偏移量值来确定所述经编码像素颜色的集合,其中,所述基本颜色和所述亮度偏移量的集合是依据指示出所述经编码像素颜色的集合与所述像素块的所述颜色之间的在所述颜色空间中的距离总和的编码误差来选择的。
2.根据权利要求1所述的编码方法,其中,所述颜色空间中的所述偏移量是所述平均颜色和所述至少一条亮度线之间的最接近路径的距离。
3.根据权利要求1所述的编码方法,其中,所述编码误差被计算为所述经编码像素颜色的集合和所述像素块的所述颜色之间的平方距离的总和。
4.根据权利要求1所述的编码方法,其中,所述选择所述至少一条亮度线的步骤包括选择具有最小的所述偏移量的值的三条亮度线。
5.根据权利要求1所述的编码方法,其中,所述选择至少一条亮度线的步骤包括迭代的亮度线选择过程,所述迭代的亮度线选择过程包括以下步骤:
审查已经选择的亮度线的相邻亮度线;以及
如果所述像素块的所述颜色离所述相邻亮度线的总偏移量不大于所述像素块的所述颜色离所述已经选择的亮度线的总偏移量,则选择所述相邻亮度线。
6.根据权利要求5所述的编码方法,其中,所述总偏移量被计算为所述像素块的所述颜色与各条亮度线的相应最接近点之间的平方距离的总和。
7.根据权利要求5所述的编码方法,其中,仅在所述相邻亮度线在颜色饱和度方面相对于所述已经选择的亮度线体现出增长的情况下,所述相邻亮度线才被审查。
8.根据权利要求5所述的编码方法,其中,仅在所述已经选择的亮度线的所述总偏移量具有非零值的情况下,所述相邻亮度线才被审查。
9.根据权利要求5所述的编码方法,其中,当多条亮度线被选择时,所述多条亮度线被按每一条亮度线的总偏移量来排序。
10.根据权利要求9所述的编码方法,其中,所述确定所述经编码像素颜色的集合的步骤包括迭代的亮度线考虑过程,其中,所述识别位于所述至少一条亮度线上的候选基本颜色集合的步骤和所述确定所述经编码像素颜色的集合的步骤被针对所述多条亮度线、按增长的总偏移量的顺序来执行。
11.根据权利要求1所述的编码方法,其中,所述确定所述经编码像素颜色的集合的步骤包括迭代的编码确定过程,该迭代的编码确定过程包括针对所述候选基本颜色的集合中的每一个候选基本颜色的以下步骤:
使用应用于所述候选基本颜色的所述亮度偏移量值来确定经编码像素颜色的候选集合;
确定所述经编码像素颜色的候选集合的候选编码误差,该候选编码误差指示出所述像素块的所述颜色与所述经编码像素颜色的候选集合之间的在所述颜色空间中的距离总和;
如果所述候选编码误差低于针对所述像素块确定的任何在前候选编码误差,则将所述候选编码误差设定为最佳编码误差;
将所述候选基本颜色和当被应用于所述候选基本颜色时给出所述最佳编码误差的那些亮度偏移量值选择为所述基本颜色和所述亮度偏移量的集合。
12.根据权利要求11所述的编码方法,其中,所述至少一个预定表格的亮度偏移量值包括多个预定表格的亮度偏移量值,并且所述使用应用于所述候选基本颜色的所述亮度偏移量值来确定所述经编码像素颜色的候选集合的步骤包括使用所述多个预定表格的亮度偏移量值中的每一个表格来迭代地确定所述经编码像素颜色的候选集合。
13.根据权利要求12所述的编码方法,其中,所述编码误差被累积地确定为累积编码误差,并且如果针对在考虑中的当前表格的亮度偏移量值的所述累积编码误差超过了所述最佳编码误差,则使用所述当前表格的亮度偏移量值来确定所述经编码像素颜色的候选集合被终止。
14.根据权利要求13所述的编码方法,其中,所述累积编码误差被针对所述像素块的所述颜色来逐像素地与所述最佳编码误差进行比较。
15.根据权利要求10所述的编码方法,其中,所述确定所述经编码像素颜色的集合的步骤包括迭代的编码确定过程,该迭代的编码确定过程包括针对所述候选基本颜色的集合中的每一个候选基本颜色的以下步骤:
使用应用于所述候选基本颜色的所述亮度偏移量值来确定经编码像素颜色的候选集合;
确定所述经编码像素颜色的候选集合的候选编码误差,该候选编码误差指示出所述像素块的所述颜色与所述经编码像素颜色的候选集合之间的在所述颜色空间中的距离总和;
如果所述候选编码误差低于针对所述像素块确定的任何在前候选编码误差,则将所述候选编码误差设定为最佳编码误差;
将所述候选基本颜色和当被应用于所述候选基本颜色时给出所述最佳编码误差的那些亮度偏移量值选择为所述基本颜色和所述亮度偏移量的集合,
其中,在考虑下一条亮度线之前,如果针对所述下一条亮度线的所述总偏移量超过了所述最佳编码误差,则所述迭代的亮度线考虑过程被终止,并且所述下一条亮度线和所述多条亮度线中的任何其他亮度线都不被考虑。
16.根据权利要求1所述的编码方法,其中,所述块各自包括2个像素乘以4个像素的集合。
17.根据权利要求1所述的编码方法,其中,以相互依赖的方式来编码所述像素块中的至少一对相邻块,所述配对的相邻块中的第二块被参考所述配对的相邻块中的第一块来编码。
18.根据权利要求17所述的编码方法,其中,所述配对的块在水平方向上相邻。
19.根据权利要求18所述的编码方法,其中,所述配对的块在垂直方向上相邻。
20.根据权利要求17所述的编码方法,还包括针对每一个像素块来判断所述编码误差在该像素块被以所述相互依赖的方式来编码时更低还是在该像素块被以不参考另一个像素块的独立方式来编码时更低。
21.根据权利要求20所述的编码方法,还包括针对每一个像素块来迭代地确定针对所有编码方式的所述编码误差以及选择给出所述编码误差的总体最低值的编码方式。
22.根据权利要求1所述的编码方法,其中,在所述颜色空间中的距离计算是根据人类对所述颜色空间中的每一个颜色分量的灵敏度来进行了知觉加权的。
23.根据权利要求1所述的编码方法,其中,所述编码误差被计算为峰值信噪比。
24.根据权利要求1所述的编码方法,其中,所述图像是纹理图像。
25.根据权利要求1所述的编码方法,其中,所述预定编码格式是ETC格式。
26.一种用于根据预定编码格式来生成图像的编码的编码设备装置,其中,所述预定编码格式在像素块中编码所述图像,每一个像素块被编码为经编码像素颜色的集合,该经编码像素颜色的集合包括基本颜色和相对于所述基本颜色的亮度偏移量的集合,
其中,所述基本颜色是从在预定颜色空间中定义的预定基本颜色集合中选择的,
其中,所述亮度偏移量的集合被编码为对至少一个预定表格的亮度偏移量值的参考的集合,
并且其中,所述预定基本颜色集合和所述亮度偏移量值在所述预定颜色空间中定义了亮度线的集合,所述经编码像素颜色位于所述亮度线中的至少一条亮度线上,
被配置为对每一个像素块执行操作的所述设备装置包括:
平均颜色确定装置,用于确定所述预定颜色空间中的所述像素块的平均颜色;
亮度线选择装置,用于依据所述平均颜色在所述颜色空间中的离至少一条亮度线的偏移量来选择所述至少一条亮度线;
候选基本颜色识别装置,用于识别位于所述至少一条亮度线上的候选基本颜色集合;以及
确定装置,用于使用所述候选基本颜色集合和所述亮度偏移量值来确定所述经编码像素颜色的集合,其中,所述基本颜色和所述亮度偏移量的集合是依据指示出所述经编码像素颜色的集合与所述像素块的所述颜色之间的在所述颜色空间中的距离总和的编码误差来选择的。
CN201210026893.8A 2011-01-25 2012-01-29 图像编码方法 Active CN102625100B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB1101213.5A GB2487717B (en) 2011-01-25 2011-01-25 Image encoding method
GB1101213.5 2011-01-25

Publications (2)

Publication Number Publication Date
CN102625100A CN102625100A (zh) 2012-08-01
CN102625100B true CN102625100B (zh) 2016-09-07

Family

ID=43769542

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210026893.8A Active CN102625100B (zh) 2011-01-25 2012-01-29 图像编码方法

Country Status (4)

Country Link
US (1) US8831341B2 (zh)
JP (1) JP6035026B2 (zh)
CN (1) CN102625100B (zh)
GB (1) GB2487717B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8891894B2 (en) * 2011-09-30 2014-11-18 Apple Inc. Psychovisual image compression
US8582876B2 (en) * 2011-11-15 2013-11-12 Microsoft Corporation Hybrid codec for compound image compression
MX2017004088A (es) 2014-10-03 2017-07-07 Nec Corp Dispositivo de codificacion de video, dispositivo de descodificacion de video, metodo de codificacion de video, metodo de descodificacion de video y programa.
EP3298787B1 (en) * 2015-05-21 2021-03-24 Telefonaktiebolaget LM Ericsson (publ) Pixel pre-processing and encoding
KR102453803B1 (ko) * 2015-09-10 2022-10-12 삼성전자주식회사 이미지 처리 방법 및 장치
US10148972B2 (en) * 2016-01-08 2018-12-04 Futurewei Technologies, Inc. JPEG image to compressed GPU texture transcoder
CN108965873B (zh) * 2018-07-24 2020-02-14 北京大学 一种脉冲阵列编码的自适应划分方法
US10523420B1 (en) * 2019-04-18 2019-12-31 Capital One Services, Llc Transmitting encoded data along transmission mediums based on colorspace schemes
CN115063327B (zh) * 2022-08-19 2022-11-08 摩尔线程智能科技(北京)有限责任公司 图像处理方法和装置、以及视频处理方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006006915A1 (en) * 2004-07-08 2006-01-19 Telefonaktiebolaget Lm Ericsson (Publ) Multi-mode image processing
CN101243487A (zh) * 2005-07-12 2008-08-13 夏普株式会社 图像数据产生装置、图像数据产生方法、程序以及存储介质
CN101742285A (zh) * 2008-11-11 2010-06-16 北京中星微电子有限公司 视频编码系统和方法以及调节编码位宽的控制方法和装置

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5046119A (en) * 1990-03-16 1991-09-03 Apple Computer, Inc. Method and apparatus for compressing and decompressing color video data with an anti-aliasing mode
US5377018A (en) * 1992-06-22 1994-12-27 Media Vision Video compression and decompression using block selection and subdivision
US5534915A (en) * 1992-09-30 1996-07-09 American Film Technologies, Inc. Method of color enhancing a monochrome image using multiple base colors for selected regions of the monochrome image
US6031937A (en) * 1994-05-19 2000-02-29 Next Software, Inc. Method and apparatus for video compression using block and wavelet techniques
JPH118770A (ja) * 1997-06-19 1999-01-12 Matsushita Electric Ind Co Ltd 画像圧縮装置
US6356588B1 (en) * 1998-04-17 2002-03-12 Ayao Wada Method for digital compression of color images
US6788811B1 (en) * 1999-05-10 2004-09-07 Ricoh Company, Ltd. Coding apparatus, decoding apparatus, coding method, decoding method, amd computer-readable recording medium for executing the methods
US6819793B1 (en) * 2000-06-30 2004-11-16 Intel Corporation Color distribution for texture and image compression
US6961462B2 (en) * 2001-01-22 2005-11-01 Matsushita Electric Industrial Co., Ltd. Image processing method and image processor
FI113930B (fi) * 2002-05-31 2004-06-30 Oplayo Oy Menetelmä ja järjestely digitaalikuvien kompressoimiseksi
US7082217B2 (en) * 2002-10-28 2006-07-25 Web Technology Corp. Method and apparatus for image compression in block units
SE526226C2 (sv) * 2003-12-19 2005-08-02 Ericsson Telefon Ab L M Bildbehandling
GB0504570D0 (en) * 2005-03-04 2005-04-13 Falanx Microsystems As Method of and apparatus for encoding data
RU2407222C2 (ru) * 2005-05-27 2010-12-20 Телефонактиеболагет Лм Эрикссон (Пабл) Обработка изображений на основе весов
WO2006126949A1 (en) * 2005-05-27 2006-11-30 Telefonaktiebolaget Lm Ericsson (Publ) Weight based image processing
WO2007021227A1 (en) * 2005-08-19 2007-02-22 Telefonaktiebolaget Lm Ericsson (Publ) Texture compression based on two hues with modified brightness
JP4593437B2 (ja) * 2005-10-21 2010-12-08 パナソニック株式会社 動画像符号化装置
US7787691B2 (en) * 2006-04-11 2010-08-31 Telefonaktiebolaget Lm Ericsson (Publ) High quality image processing
JP2007312126A (ja) * 2006-05-18 2007-11-29 Toshiba Corp 画像処理回路
JP4835865B2 (ja) * 2006-08-08 2011-12-14 富士ゼロックス株式会社 画像処理装置及び画像処理プログラム
US8594441B1 (en) * 2006-09-12 2013-11-26 Nvidia Corporation Compressing image-based data using luminance
US8237865B2 (en) * 2006-12-18 2012-08-07 Emanuele Salvucci Multi-compatible low and high dynamic range and high bit-depth texture and video encoding system
US20090322777A1 (en) * 2008-06-26 2009-12-31 Microsoft Corporation Unified texture compression framework
WO2010147529A1 (en) * 2009-06-16 2010-12-23 Telefonaktiebolaget L M Ericsson (Publ) Methods and arrangements for image processing

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006006915A1 (en) * 2004-07-08 2006-01-19 Telefonaktiebolaget Lm Ericsson (Publ) Multi-mode image processing
CN101243487A (zh) * 2005-07-12 2008-08-13 夏普株式会社 图像数据产生装置、图像数据产生方法、程序以及存储介质
CN101742285A (zh) * 2008-11-11 2010-06-16 北京中星微电子有限公司 视频编码系统和方法以及调节编码位宽的控制方法和装置

Also Published As

Publication number Publication date
CN102625100A (zh) 2012-08-01
JP6035026B2 (ja) 2016-11-30
JP2012157002A (ja) 2012-08-16
GB2487717A (en) 2012-08-08
GB2487717B (en) 2017-06-21
US20120189199A1 (en) 2012-07-26
GB201101213D0 (en) 2011-03-09
US8831341B2 (en) 2014-09-09

Similar Documents

Publication Publication Date Title
CN102625100B (zh) 图像编码方法
US10896524B2 (en) Method and system for color representation generation
CN101919254B (zh) 基于预测的图像处理
Jacquin Image coding based on a fractal theory of iterated contractive image transformations
CN100498838C (zh) 多模α图像处理方法及系统
US6518981B2 (en) Generating and using a color palette
CN101233542A (zh) 基于权重的图像处理
US20020064310A1 (en) Image matching
CN104823187B (zh) 在移动计算设备上显示排序结果
CN101925925A (zh) 基于预测的图像处理
WO2005059838A1 (en) Multi-mode alpha imag eprocessing
CN101258526A (zh) 基于具有修改亮度的两个色调的纹理压缩
US6683979B1 (en) Image data compression and decompression
JP2005228341A (ja) 画像データを領域へ編成するシステムおよび方法
CN113096198B (zh) 一种双向点云属性预测压缩方法,装置,设备及介质
CN104160409A (zh) 用于图像分析的方法和系统
US8437563B2 (en) Vector-based image processing
JP4130915B2 (ja) グラフィカルオブジェクトの境界情報の処理
CN113938685B (zh) 面向大规模图像存储的认知型软件可调整图像编码装置
CN113096199B (zh) 一种基于莫顿码的点云属性预测方法、装置和介质
CN114937072A (zh) 图像处理方法和装置、电子设备、计算机可读存储介质
CN109146766B (zh) 对象选择方法及装置
US8571342B2 (en) Image processing and generation of focus information
US20040105495A1 (en) Experimental design for motion estimation
US9615111B2 (en) Complexity-adaptive compression of color images using binary arithmetic coding

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant