CN115250351A - 用于图像数据的压缩方法、解压方法及相关产品 - Google Patents
用于图像数据的压缩方法、解压方法及相关产品 Download PDFInfo
- Publication number
- CN115250351A CN115250351A CN202110460665.0A CN202110460665A CN115250351A CN 115250351 A CN115250351 A CN 115250351A CN 202110460665 A CN202110460665 A CN 202110460665A CN 115250351 A CN115250351 A CN 115250351A
- Authority
- CN
- China
- Prior art keywords
- data
- pixel
- pixel component
- value
- component data
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/172—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本披露涉及一种用于图像数据的压缩方法、解压缩方法及相应的产品。该压缩方法包括:将图像数据拆分成多个数据组,在每个数据组内进行独立的定长编码;以及输出各个数据组的编码结果。本披露的压缩方案可以对图像数据的数据组进行独立定长编码,从而为不同的数据组选择最适合的编码长度,提高压缩效率,降低对传输的带宽需求。
Description
技术领域
本披露涉及数据传输领域。更具体地,涉及一种用于图像数据的压缩方法、解压缩方法、压缩装置、解压缩装置、处理装置和计算机可读存储介质。
背景技术
在SoC(System On Chip)片上系统设计中,IP核(Intellectual Property Core)技术的采用极大地提高了SoC的开发效率。不同的IP核之间需要传输数据,以协同实现功能。例如在媒体SoC中,存在大量不同IP核之间交互图像/视频数据的场景。
然而,随着图像/视频分辨率的不断提高,SoC内部传输图像/视频数据的带宽需求也随之增加。更高的带宽需求意味着更高的功耗,并且对SoC总线带宽也提出了更高的要求。
发明内容
由于媒体SoC中不同IP核之间大量的图像/视频数据交互,以及更高的分辨率、帧率需求,如果不对IP之间交互的图像/视频数据的带宽做优化处理,会对SoC总线带宽提出非常高的要求,并且带宽的提高还会导致功耗的提升。
为了至少解决如上所提到的一个或多个技术问题,本披露在多个方面中提出了图像数据的压缩和解压缩方案。通过本披露的压缩方案,可以针对图像数据进行分组自适应压缩,提高压缩效率。
在第一方面中,本披露提供了一种用于图像数据的压缩方法,包括:将图像数据拆分成多个数据组;在每个数据组中独立地进行像素值预测并生成像素分量数据的预测误差;在每个数据组内,基于表示所述数据组内的预测误差所需的码长,确定所述数据组的定长编码方案并进行编码;以及输出各个数据组的编码结果。
在第二方面中,本披露还提供了一种用于图像的压缩数据的解压缩方法,其中所述压缩数据是由原始图像数据拆分成多个数据组后编码生成的,所述方法包括:从所述压缩数据中提取各个数据组的定长编码方案信息和基准像素的像素值;根据各个数据组的定长编码方案信息,从所述压缩数据中提取各个数据组的基准像素之外的像素分量数据的编码值;以及至少基于所述编码值,恢复对应的像素分量数据的原始值。
在第三方面中,本披露提供了一种用于图像数据的压缩装置,包括:拆分单元,用于将图像数据拆分成多个数据组;预测单元,用于在每个数据组中独立地进行像素值预测并生成像素分量数据的预测误差;编码单元,用于在每个数据组内,基于表示所述数据组内的预测误差所需的码长,确定所述数据组的定长编码方案并进行编码;以及输出单元,用于输出各个数据组的编码结果。
在第四方面中,本披露提供了一种用于图像的压缩数据的解压缩装置,其中所述压缩数据是由原始图像数据拆分成多个数据组后编码生成的,所述解压缩装置包括:第一提取单元,用于从所述压缩数据中提取各个数据组的定长编码方案信息和基准像素的像素值;第二提取单元,用于根据各个数据组的定长编码方案信息,从所述压缩数据中提取各个数据组的基准像素之外的像素分量数据的编码值;以及恢复单元,用于至少基于所述编码值,恢复对应的像素分量数据的原始值。
在第五方面中,本披露提供了一种图像数据的处理装置,包括:处理器,其配置用于执行程序指令;以及存储器,其配置用于存储所述程序指令,当所述程序指令由所述处理器加载并执行时,使得所述处理装置执行根据本披露第一方面各种实施例所述的压缩方法或根据本披露第二方面各种实施例所述的解压缩方法。
在第六方面中,本披露还提供了一种计算机可读存储介质,其中存储有程序指令,当所述程序指令由处理器加载并执行时,使得所述处理器执行根据本披露第一方面各种实施例所述的压缩方法或根据本披露第二方面各种实施例所述的解压缩方法。
通过如上所提供的图像数据的压缩方法、解压缩方法以及对应的产品,本披露实施例的图像压缩方法可以对图像数据的数据组进行独立定长编码,从而为不同的数据组选择最适合的编码长度,提高压缩效率,降低对传输的带宽需求。
附图说明
通过参考附图阅读下文的详细描述,本披露示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本披露的若干实施方式,并且相同或对应的标号表示相同或对应的部分,其中:
图1示出了可以应用本披露实施例的一个示例性硬件环境;
图2示出了根据本披露实施例的图像压缩方法的示例流程;
图3示出了根据本披露实施例的图像解压缩方法的示例流程;
图4示出了根据本披露实施例的图像压缩装置的示例性功能框图;
图5示出了根据本披露实施例的图像解压缩装置的示例性功能框图;以及
图6示出可以实施本披露实施例的压缩方法和/或解压缩方法的计算装置的硬件配置的框图。
具体实施方式
下面将结合本披露实施例中的附图,对本披露实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本披露一部分实施例,而不是全部的实施例。基于本披露中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本披露保护的范围。
应当理解,本披露的说明书和权利要求书中使用的术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本披露说明书中所使用的术语仅仅是出于描述特定实施例的目的,而并不意在限定本披露。如在本披露说明书和权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。还应当进一步理解,在本披露说明书和权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
下面结合附图来详细描述本披露的具体实施方式。
图1示出了可以应用本披露实施例的一个示例性硬件环境。
如图所示,在片上系统SoC 100中可以包括多个IP核(例如110-1、110-2和110-3)。片上总线(On-Chip Bus,OCB)120是实现SoC中IP核连接最常见的技术手段,它以总线方式实现IP核之间的数据通信。片上总线可以有多种类型,诸如ARM公司的AMBA(AdvancedMicrocontroller Bus Architecture)、Silicore Corp公司的Wishbone、IBM公司的CoreConnect等等。各种IP核可以通过合适的接口连接到片上总线。例如,AMBA中定义了AXI(Advanced eXtensible Interface,高级可扩展接口)接口。IP核可以通过AXI接口连接到相应的AMBA总线上。
除了IP核之外,SoC中还可以包括CPU 130、片上存储器140(例如片上RAM)和DMA(Direct Memory Access,直接内存存取)150等设备,这些设备也可以通过相应的接口连接到片上总线120上,以实现相互之间的数据传输。
如前所述,在媒体SoC中,不同IP核之间存在大量的图像/视频数据交互,并且图像/视频数据的分辨率和帧率需求越来越高,这些导致需求对SoC总线带宽提出非常高的要求,而带宽的提高还会导致功耗的提升。鉴于此,本披露实施例提供了一种图像数据的压缩方案,通过压缩图像数据,减小数据量,从而降低对SoC总线带宽的需求。相应地,本披露实施例还提供了对应的图像数据的解压缩方案。
如图所示,在SoC 100上可以提供压缩器160。在一些实施例中,压缩器160可以对来自数据源模块(例如,某个IP核110-1)的图像数据执行压缩处理,压缩后的图像数据可以输出到总线上,以传输到数据目的地模块(例如,片上存储器140)。压缩器160与数据源模块之间可以是直连连接,例如通过AXI接口直连。
进一步地,在SoC 100上还可以提供解压缩器170。在一个场景中,某个IP核(例如110-2)可能需要读取片上存储器140中存储的图像数据,这些图像数据已经进行了压缩,例如经过压缩器160压缩的。解压缩器170可以通过总线从片上存储器140读取压缩后的图像数据,执行解压缩处理,然后将解压缩的图像数据输出给IP核110-2。解压缩器170与IP核110-2之间可以是直连连接,例如通过AXI接口直连。
通过提供压缩器160和解压缩器170,可以对IP核间需要交互的大量图像/视频数据进行压缩和对应的解压缩,从而降低对片上总线的带宽需求。可以理解,压缩器160和解压缩器170可以相互独立,分别负责对图像数据执行压缩和解压缩处理。例如,对于基本上只作为数据生产端的IP核,可以只直连压缩器160;对于基本上只作为数据消费端的IP核,可以只直连解压缩器170;而对于既可能作为数据生产端又作为数据消费端的IP核,可以同时连接有压缩器160和解压缩器170。
可以理解,尽管在图中将压缩器160和解压缩器170示出为与各种IP核等模块分离的单元,压缩器和解压缩器也可以包括在IP核等模块中。本披露实施例在此方面没有限制。此外,尽管在片上系统的硬件环境中提供上述压缩器和解压缩器,但是本披露实施例的压缩器和解压缩器可以应用在任何需要对图像数据进行压缩和解压缩的场景中,本披露在此方面没有限制。
为了能比较好地保存图像的质量,在本披露实施例中采用了无损压缩方式。无损压缩的基本原理是利用数据的统计冗余进行压缩,其可以完全恢复原始数据而不引起任何失真。
预测编码是根据某一模型利用以往的样本值对新样本值进行预测,然后将样本的实际值与其预测值相减得到一个预测误差,对于这一预测误差进行编码。如果模型足够好且样本序列相关性较强,那么预测误差的幅度将远远小于原始信号,从而得到较好的数据压缩效果。预测编码方法包括线性预测和非线性预测编码方法。线性预测编码方法,也称差值脉冲编码调制法,简称DPCM。
在数字图像中,如果不是随机的噪声,那么每个像素与其周围的像素都会存在着一定的关联,像素值很大程度上依赖于其邻域中其它像素的值。此时,如果使用预测编码,则预测误差(例如当前像素值与相邻像素值之差)应该非常接近,通常比单个的像素值要小。因此如果只存储预测误差,由预测误差也可以重构出原图像,而且这样可以降低图像中的冗余信息,实现图像的压缩。
因此,在本披露的一些实施例中,采用基于预测编码的无损压缩方法来对图像数据进行压缩。
图2示出了根据本披露实施例的图像数据压缩方法200的示例流程。
如图所示,方法200可以包括步骤S210,将图像数据拆分成多个数据组。
图像数据例如可以是作为数据生产端的IP核产生的原始数据,其尺寸较大,需要进行压缩。例如,待压缩的图像数据可以是从AXI接口输入的每笔大小为256字节的图像数据。假设每个像素分量数据使用8比特表示,则每笔图像数据包括256个像素分量数据。可以理解,取决于数据生产端与压缩器之间的传输带宽,每笔图像数据的大小可以不同。
如前面所提到的,本披露实施例中采用的压缩方法将基于预测编码,而预测编码的效果取决于预测误差的大小。如果对整个图像数据实施预测编码,则预测误差的变化范围会比较大,压缩效果不好。如果对图像数据进行拆分,拆分后的每个数据组相互独立地进行预测编码,则有可能将预测误差控制在一定范围内,提高压缩比。
优选地,在一些实施例中,图像数据的拆分可以使得每个数据组包括多个连续的像素分量数据。图像数据可以有多种表示格式,例如RGB颜色空间或YUV颜色空间。在不同的颜色空间中,使用不同的像素分量数据来表示像素。例如,YUV颜色空间中使用Y、U和V分量来表示像素。从前面的描述可知,为了尽可能减小预测误差,可以将相邻像素的数据划分到同一数据组中以更有利于进行预测编码。
可以理解,由于图像数据中像素的存储顺序,拆分的数据组中也可能包含有个别不连续的像素分量数据,例如由于像素行的跳转、像素分量类型的变化等导致的,但是这种情形的占比相对于所有数据组较少,因此对整体的压缩效果影响很小,可以忽略。
在一个实施例中,拆分后的每个数据组可以具有相同的像素分量数据个数,也即平均拆分。例如,针对前面示例中的256个像素分量数据,可以每连续8个分为一组,共分为32个数据组。这种平均拆分可以避免需要额外的信息来指示各个数据组的大小,同时硬件实施容易。可以理解,也可以按照其他方式进行拆分,例如每4个或16个分为一组,也可以进行非平均拆分。在非平均拆分的情况下,需要增加信息来指示拆分方式,同时硬件实现的复杂度增加。
接着,在步骤S220中,在拆分后的每个数据组中独立地进行像素值预测并生成像素分量数据的预测误差。
根据预测编码的原理,利用图像相邻像素之间的联系,将上一样本值作为当前样本值的预测值,然后将当前样本值的预测值与实际值之间的差值作为预测误差进行量化编码,从而提高压缩编码效率。
因此,在每个数据组中可以按照如下生成预测误差:首先选择一个像素分量数据作为基准像素;然后针对剩余的像素分量数据,取相邻像素分量数据的像素值作为当前像素分量数据的预测值;最后计算剩余的像素分量数据的预测值与实际值之间的差值,作为这些像素分量数据的预测误差。
基准像素可以有多种选择方式。在一些实现中,基准像素可以选自以下任一:数据组内的第一个像素、最后一个像素或中间像素。
在一些实施例中,相邻像素分量数据可以固定指示相对位置(例如前一个或后一个)的数据,也可以根据基准像素来指示相对位置,例如指示当前像素分量数据朝向基准像素方向上的前一像素分量数据。具体地,假如基准像素为数据组内的第一个数据,则相邻像素分量数据表示当前像素分量数据的前一个数据;假如基准像素为数据组内的最后一个数据,则相邻像素分量数据表示当前像素分量数据的后一个数据;假如基准像素为数据组内的中间一个数据,则对于该基准像素之前的数据而言,其相邻像素分量数据表示当前像素分量数据的后一个数据,而对于该基准像素之后的数据而言,其相邻像素分量数据表示当前像素分量数据的前一个数据。
在确定了基准像素之后,数据组内其余的像素分量数据可以按照相邻像素的含义确定对应的预测值和预测误差。例如,假设基准像素为数据组内的第1个数据,则将该基准像素的值作为第2个数据的预测值,并求得预测误差;接着,可以将第2个数据的实际值作为第3个数据的预测值并求得预测误差;以此类推,将倒数第2个数据的实际值作为最后一个数据的预测值并求得预测误差。由此,可以得到除基准像素之外所有像素分量数据的预测误差。
继续前面8个数据一组的拆分示例,在一种实现中,每组第一个像素无需预测,后续的7个像素的预测值取相邻的前一个像素的像素值。得到7个预测值后,对应7个像素逐像素进行作差,使用原始值减去预测值,得到预测误差。预测误差范围为-255到255,用二进制补码需要9比特来表示。
然后,在步骤S230中,在每个数据组内,基于表示数据组内的预测误差所需的码长,确定数据组的定长编码方案并进行编码。
由于利用了相邻像素之间的相关性,预测误差的幅度通常会远远小于原始像素值,因此对预测误差进行编码所需的码长通常也小于原始像素值的码长。鉴于此,在一些实施例中,响应于表示数据组内的预测误差所需的最大码长小于预定阈值,将该最大码长确定为该数据组的固定码长,并利用此固定码长对该数据组内的预测误差进行定长编码,作为对应像素分量数据的编码值。
例如,仍然以前面8个数据作为一个数据组为例,每个组内有7个预测误差值,假设使用二进制补码来表示这些预测误差值。假设某一个数据组内7个预测误差值的码长分别为1、2、2、1、3、1、2比特,则每个码最多只需要3比特就足以表示该数据组内的7个预测误差。因此,该数据组可以使用3比特的固定码长对这7个预测误差进行编码,预测误差的编码值作为对应像素分量数据的编码值。假设另一数据组内7个预测误差值的最大码长为2比特,则此数据组使用2比特的固定码长对组内的预测误差值进行编码。由此可见,每个数据组是独立地确定组内的编码方案的固定码长,由此只需要适应相对小范围(例如一个数据组)的数据特性,可可以更好地发挥预测编码的压缩性能。
可以理解,在一些情况下,可能出现数据组内的某个预测误差的编码长度过大的情形。例如,前面提到的像素行的跳转、像素分量类型的变化等情况,可能此处的预测误差值会较大,从而导致所需的码长较长。
针对这种情况,在一些实施例中,响应于表示数据组内的预测误差所需的最大码长大于等于预定阈值,使用各个像素分量数据的原始值作为编码值。在一些实现中,上述预定阈值可以等于像素分量数据的原始值的码长。也即,如果预测误差所需的比特数大于等于原始值的比特数时,不需要再采用预测误差编码,而是直接使用原始值。例如,在上述示例中,预定阈值可以是8比特,当预测误差的码长大于等于8比特时,直接采用8比特的原始值作为编码值。
由此,可以针对每个数据组采用独立的定长编码方案,各组的固定码长相互独立地确定,以更好地适应于各个数据组的数据特点,提升编码的压缩效果。
最后,在步骤S240中,输出各个数据组的编码结果。
从前面的编码过程可知,编码结果主要包括以下几部分的内容:指示各个数据组的定长编码方案的编码方案指示码;各个数据组的基准像素的像素值;以及各个数据组的根据定长编码方案得到的像素分量数据的编码值。
编码方案指示码至少包含每个数据组进行定长编码所使用的码长的信息。例如,仍然以前面的示例为例,用来进行定长编码的码长共有1~8比特八种情况,因此可以使用3比特来表示8种不同的定长编码方案。例如,000可以表示固定码长为1的预测编码方案,001可以表示固定码长为2的预测编码方案,依次类推,110可以表示固定码长为7的预测编码方案,而111则表示未采用预测编码,使用原始值作为编码值的情况。可以理解,上述编码方案指示码也可以按其他模式赋予对应的含义,例如000指示未采用预测编码,001~111则指示具有对应的固定码长的预测编码方案。本披露实施例在此方面没有限制。
此外,基于预测编码的原理,每个数据组选择一个基准像素,各个数据组的基准像素的像素值可以仍然使用原始值,例如8比特表示,从而有利于无损还原其他像素值。
编码结果中最多的一部分是各个数据组的根据定长编码方案得到的像素分量数据的编码值。可以理解,此部分的大小不是固定的,与数据组的拆分粒度以及每笔图像数据的像素之间的相关性有关。例如,如果图像数据的像素之间的相关性很高,那么拆分粒度大小导致的压缩效果差别可能不大;如果图像数据的像素之间的相关性较低,则拆分粒度太大的话,压缩效果不好。需要选择合适的拆分粒度,以获得较高的压缩率。
以前面32个数据组,每组8个像素分量数据为例,输出的编码结果中,编码方案指示码部分包括32个数据组对应的32个3比特的编码方案指示码;基准像素值部分包括32个数据组对应的32个基准像素值,每个基准像素值例如8比特;其余像素编码部分包括32个数据组对应的预测误差值,每个组包含7个预测误差值,每个组的预测误差值的编码码长相互独立。
输出的编码结果可以以各种方式拼接在一起。例如,可以按照数据组拼接,每个数据组的编码结果放在一起,分别包括编码方案指示码、基准像素值以及其余像素编码部分。又例如,可以按照编码结果的类型,将同一类型的信息拼接在一起。例如,各组的编码方案指示码集中在一起,各组的基准像素值拼接在一起,然后是各组的其余像素编码部分。本披露实施例在此方面没有限制。
以上结合流程图详细描述了本披露实施例的用于图像数据的压缩编码方案。从上述方案可以看出,通过对图像数据进行分组,可以逐个适应不同数据组中预测误差的特点,为每个数据组选择独立的固定码长,从而有效提高压缩比。
如前面所提到,在进行图像数据拆分时,优选使得每个数据组包括多个连续的像素分量数据。可以理解,待压缩的图像数据可能具有各种图像格式。这些图像格式决定了图像数据中像素分量数据的存储顺序。为了使得拆分后的数据组中包括连续的像素分量数据,在一些实施例中,在对图像数据拆分之前,根据图像数据的图像格式对图像数据重新排列,以使得相同类型的像素分量数据连续排列。
例如在使用YUV颜色空间来表示图像的图像格式中,可以包括两大类,平面的(planar)和打包的(packed)。对于平面的YUV格式,先连续存储所有像素点的Y,紧接着存储所有像素点的U,随后是所有像素点的V。对于打包的YUV格式,每个像素点的Y、U、V是连续交叉存储的。
例如,在平面的YUV格式中,存储顺序为YYYYYUUUUUVVVVV;而在打包的YUV格式中,存储顺序为YUVYUVYUVYUVYUV。可以理解,取决于不同的采样率,Y、U和V的个数可以不同,本披露实施例在此方面没有限制。
在一些实施例中,为了发挥预测编码的优势,优选将相邻像素的同类型的像素分量数据连续排列在一起,例如按照平面的YUV格式排列。因此,可以在拆分图像数据之前,根据待压缩图像数据的图像格式对图像数据重新排列,以使得相同类型的像素分量数据连续排列。由此,在随后的拆分中,同一类型的像素分量数据可以尽量分在同一数据组内。可以理解,受限于硬件的实现,无法保证每个数据组内只有同一类型的像素分量数据,例如不同类型的分界处,但是由于这种情况比较少,例如对于YUV分量而言仅存在两处分界,因此对整体压缩效果影响可以忽略。
相应地,本披露实施例还提供了一种对应的用于图像的压缩数据的解压缩方法。图3示出了根据本披露实施例的图像数据解压缩方法300的示例流程,图像的压缩数据是由原始图像数据拆分成多个数据组后编码生成的。
如图所示,方法300可以包括步骤S310,从压缩数据中提取各个数据组的定长编码方案信息和基准像素的像素值。
从前面对压缩方法的描述可知,压缩后的信息主要包括三部分:指示各个数据组的定长编码方案的编码方案指示码;各个数据组的基准像素的像素值;以及各个数据组的根据定长编码方案得到的像素分量数据的编码值。解压缩的目的在于根据像素分量数据的编码值,恢复像素分量数据的原始值,从而实现无损恢复。因此,为了确定像素分量数据的编码值的具体编码方式,可以从压缩后的码流中分离出与编码相关的信息,例如定长编码方案信息,其可以指示编码所使用的固定码长,以及基准像素的像素值,其指示作为编码基准的像素值。
继续前文示例,则此时需要分离出32个数据组对应的定长编码码长和基准像素值。
接着,在步骤S320中,根据各个数据组的定长编码方案信息,从压缩数据中提取各个数据组的基准像素之外的像素分量数据的编码值。
具体地,可以基于定长编码方案信息(例如,压缩数据中编码方案指示码)所指示的固定码长,从压缩数据中分离出各个数据组的各个像素分量数据的编码值。由于每个数据组进行独立的预测编码,对预测误差所使用的固定码长相互独立,因此每个数据组的码长可能不同,需要按指示的固定码长进行提取和分离。
最后,在步骤S330中,至少基于提取的编码值,恢复对应的像素分量数据的原始值。
在一些实现中,当定长编码方案信息所指示的固定码长小于预定阈值时,将提取的编码值视为像素分量数据的预测误差。此时,基于提取的预测误差和对应数据组的基准像素的像素值,恢复像素分量数据的原始值。
在另一些实现中,当定长编码方案信息所指示的固定码长等于预定阈值时,将提取的编码值视为像素分量数据的原始值。
从前文对压缩方法的描述可知,定长编码方案信息指示各个数据组是否采用预测编码,以及在采用预测编码时所使用的固定码长。因此,根据定长编码方案信息的指示,可以相应地确定提取的编码值的含义,即为原始值还是预测编码值,以及如果是预测编码值,其固定码长为多少。由此,可以按照相应的预测编码方法,根据前面提取的基准像素的像素值,逐一恢复其他像素分量数据的原始值。
可选地或附加地,在一些实施例中,解压缩方法300还可以包括步骤S340,对恢复后的像素分量数据进行重新排列,以符合期望的图像格式。
如前面所提到,图像数据可以具有各种图像格式,当期望的图像格式(例如,数据消费端的IP希望的图像格式)与解压缩恢复后的图像格式不一致时,可以对像素分量数据进行重新排列,以符合期望的图像格式。
本披露实施例还提供了用于实现上述压缩方法和解压缩方法的对应压缩装置和解压缩装置。
图4示出了根据本披露实施例的压缩装置400的示意性功能结构框图。
如图所示,压缩装置400包括拆分单元410,用于将图像数据拆分成多个数据组。在一些实施例中,拆分单元可以将图像数据拆分成每组包括多个连续的像素分量数据。可选地或附加地,在一些实施例中,拆分后的每个数据组具有相同的像素分量数据个数。
压缩装置还包括预测单元420,用于在每个数据组中独立地进行像素值预测并生成像素分量数据的预测误差。预测单元420可以按照预测误差编码的方式来生成预测误差。具体地,预测单元可以进一步用于:选择一个像素分量数据作为基准像素;针对剩余的像素分量数据,取相邻像素分量数据的像素值作为当前像素分量数据的预测值;以及计算剩余的像素分量数据的预测值与实际值之间的差值,作为预测误差。基准像素的选取和相邻像素的含义参见前文描述,此处不再重复。
压缩装置还包括编码单元430,用于在每个数据组内,基于表示数据组内的预测误差所需的码长,确定该数据组的定长编码方案并进行编码。
在一些实施例中,编码单元可以进一步用于:响应于表示数据组内的预测误差所需的最大码长小于预定阈值,将最大码长确定为数据组的固定码长,并利用固定码长对预测误差进行定长编码,作为对应像素分量数据的编码值。可选地或附加地,在一些实施例中,编码单元可以进一步用于:响应于表示数据组内的预测误差所需的最大码长大于等于预定阈值,使用各个像素分量数据的原始值作为编码值。在一些实现中,上述预定阈值等于像素分量数据的原始值的码长。
压缩装置还包括输出单元440,用于输出各个数据组的编码结果。编码结果主要包括前面描述的三部分内容:指示各个数据组的定长编码方案的编码方案指示码;各个数据组的基准像素的像素值;以及各个数据组的根据定长编码方案得到的像素分量数据的编码值。
可选地或附加地,在一些实施例中,压缩装置还可以包括预处理单元450,其用于在对图像数据拆分之前,根据图像数据的图像格式对图像数据重新排列,以使得相同类型的像素分量数据连续排列。
图5示出了根据本披露实施例的解压缩装置500的示意性功能结构框图。
如图所示,解压缩装置500包括第一提取单元510,用于从压缩数据中提取各个数据组的定长编码方案信息和基准像素的像素值。可以理解,这里的压缩数据是由原始图像数据拆分成多个数据组后编码生成的,例如按照前面描述的压缩方法压缩成的。
解压缩装置还包括第二提取单元520,用于根据各个数据组的定长编码方案信息,从压缩数据中提取各个数据组的基准像素之外的像素分量数据的编码值。
在一些实施例中,第二提取单元520可以进一步用于基于定长编码方案信息所指示的固定码长,从压缩数据中分离出各个数据组的各个像素分量数据的编码值。
解压缩装置还包括恢复单元530,用于至少基于所提取的编码值,恢复对应的像素分量数据的原始值。
在一些实施例中,恢复单元530可以进一步用于:当定长编码方案信息所指示的固定码长小于预定阈值时,将提取的编码值视为像素分量数据的预测误差,以及基于这些预测误差和对应数据组的基准像素的像素值,恢复各个像素分量数据的原始值;和/或当定长编码方案信息所指示的固定码长等于预定阈值时,将提取的编码值视为像素分量数据的原始值。
可选地或附加地,在一些实施例中,解压缩装置还可以包括后处理单元540,用于对恢复后的像素分量数据进行重新排列,以符合期望的图像格式。
应当注意,尽管上面结合图4和图5描述了压缩装置和解压缩装置的若干单元或子单元,但是这种划分仅仅是示例性而并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个子单元来具体化。本领域技术人员可以理解,示意性功能框图中描述的功能单元与前面结合图2-3描述的压缩/解压缩方法的各个步骤相对应,因此前面描述的特征同样适用于功能单元,此处不再重复。
图6示出可以实施本披露实施例的压缩/解压缩方案的处理装置600的硬件配置的框图。如图6所示,处理装置600可以包括处理器610和存储器620。在图6的处理装置600中,仅示出了与本实施例有关的组成元素。因此,对于本领域普通技术人员而言显而易见的是:处理装置600还可以包括与图6中所示的组成元素不同的常见组成元素。
处理装置600可以对应于具有各种处理功能的计算设备。例如,处理装置600可以被实现为各种类型的设备,例如个人计算机(PC)、服务器设备、移动设备等。
处理器610可以控制处理装置600的操作。例如,处理器610通过执行处理装置600上的存储器620中存储的程序,来控制处理装置600的操作。处理器610可以由处理装置600中提供的中央处理单元(CPU)、图形处理单元(GPU)、应用处理器(AP)、人工智能处理器芯片(IPU)等来实现。然而,本披露不限于此。在本实施方式中,处理器610可以按任何适当的方式实现。例如,处理器610可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式等等。
存储器620可以用于存储处理装置600中处理的各种数据、指令的硬件。例如,存储器620可以存储计算装置600中的处理过的数据和待处理的数据。存储器620可存储处理器610已处理或要处理的数据集,例如,待压缩的图像数据等。此外,存储器620可以存储要由处理装置600驱动的应用、驱动程序等。例如:存储器620可以存储与将由处理器610执行的图像数据压缩或解压缩等有关的各种程序。存储器620可以是DRAM,但是本披露不限于此。存储器620可以包括易失性存储器或非易失性存储器中的至少一种。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪存、相变RAM(PRAM)、磁性RAM(MRAM)、电阻RAM(RRAM)、铁电RAM(FRAM)等。易失性存储器可以包括动态RAM(DRAM)、静态RAM(SRAM)、同步DRAM(SDRAM)、PRAM、MRAM、RRAM、铁电RAM(FeRAM)等。在实施例中,存储器620可以包括硬盘驱动器(HDD)、固态驱动器(SSD)、高密度闪存(CF)、安全数字(SD)卡、微安全数字(Micro-SD)卡、迷你安全数字(Mini-SD)卡、极限数字(xD)卡、高速缓存(caches)或记忆棒中的至少一项。
综上,本说明书实施方式提供的处理装置600的存储器620和处理器610实现的具体功能,可以与本说明书中的前述实施方式相对照解释,并能够达到前述实施方式的技术效果,这里便不再赘述。
本披露实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,当该计算机程序在处理装置的处理器处执行时,使得该处理器执行前面本披露各实施例所描述的方法。
需要说明的是,为了简明的目的,本披露将一些方法及其实施例表述为一系列的动作及其组合,但是本领域技术人员可以理解本披露的方案并不受所描述的动作的顺序限制。因此,依据本披露的公开或教导,本领域技术人员可以理解其中的某些步骤可以采用其他顺序来执行或者同时执行。进一步,本领域技术人员可以理解本披露所描述的实施例可以视为可选实施例,即其中所涉及的动作或模块对于本披露某个或某些方案的实现并不一定是必需的。另外,根据方案的不同,本披露对一些实施例的描述也各有侧重。鉴于此,本领域技术人员可以理解本披露某个实施例中没有详述的部分,也可以参见其他实施例的相关描述。
在具体实现方面,基于本披露的公开和教导,本领域技术人员可以理解本披露所公开的若干实施例也可以通过本文未公开的其他方式来实现。例如,就前文所述的电子设备或装置实施例中的各个单元来说,本文在考虑了逻辑功能的基础上对其进行划分,而实际实现时也可以有另外的划分方式。又例如,可以将多个单元或组件结合或者集成到另一个系统,或者对单元或组件中的一些特征或功能进行选择性地禁用。就不同单元或组件之间的连接关系而言,前文结合附图所讨论的连接可以是单元或组件之间的直接或间接耦合。在一些场景中,前述的直接或间接耦合涉及利用接口的通信连接,其中通信接口可以支持电性、光学、声学、磁性或其它形式的信号传输。
在本披露中,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元示出的部件可以是或者也可以不是物理单元。前述部件或单元可以位于同一位置或者分布到多个网络单元上。另外,根据实际的需要,可以选择其中的部分或者全部单元来实现本披露实施例所述方案的目的。另外,在一些场景中,本披露实施例中的多个单元可以集成于一个单元中或者各个单元物理上单独存在。
依据以下条款可更好地理解前述内容:
条款1、一种用于图像数据的压缩方法,包括:
将图像数据拆分成多个数据组;
在每个数据组中独立地进行像素值预测并生成像素分量数据的预测误差;
在每个数据组内,基于表示所述数据组内的预测误差所需的码长,确定所述数据组的定长编码方案并进行编码;以及
输出各个数据组的编码结果。
2、根据条款1所述的压缩方法,其中确定所述数据组的定长编码方案并进行编码包括:
响应于表示所述数据组内的预测误差所需的最大码长小于预定阈值,将所述最大码长确定为所述数据组的固定码长,并利用所述固定码长对所述预测误差进行定长编码,作为对应像素分量数据的编码值;和/或
响应于表示所述数据组内的预测误差所需的最大码长大于等于所述预定阈值,使用各个像素分量数据的原始值作为编码值。
3、根据条款2所述的压缩方法,其中所述预定阈值等于所述像素分量数据的原始值的码长。
4、根据条款1-3任一所述的压缩方法,所述方法还包括:
在对图像数据拆分之前,根据所述图像数据的图像格式对图像数据重新排列,以使得相同类型的像素分量数据连续排列。
5、根据条款1-4任一所述的压缩方法,其中每组包括多个连续的像素分量数据,和/或每个数据组具有相同的像素分量数据个数。
6、根据条款1-5任一所述的压缩方法,其中在每个数据组中独立地进行像素值预测并生成像素分量数据的预测误差包括:
选择一个像素分量数据作为基准像素;
针对剩余的像素分量数据,取相邻像素分量数据的像素值作为当前像素分量数据的预测值;以及
计算所述剩余的像素分量数据的预测值与实际值之间的差值,作为所述预测误差。
7、根据条款6所述的压缩方法,其中:
所述基准像素选自以下任一:所述数据组内的第一个像素、最后一个像素或中间像素;并且
所述相邻像素分量数据指示当前像素分量数据朝向所述基准像素方向上的前一像素分量数据。
8、根据条款6-7任一所述的压缩方法,其中所述编码结果包括:
指示各个数据组的定长编码方案的编码方案指示码;
各个数据组的基准像素的像素值;以及
各个数据组的根据所述定长编码方案得到的像素分量数据的编码值。
9、一种用于图像的压缩数据的解压缩方法,其中所述压缩数据是由原始图像数据拆分成多个数据组后编码生成的,所述方法包括:
从所述压缩数据中提取各个数据组的定长编码方案信息和基准像素的像素值;
根据各个数据组的定长编码方案信息,从所述压缩数据中提取各个数据组的基准像素之外的像素分量数据的编码值;以及
至少基于所述编码值,恢复对应的像素分量数据的原始值。
10、根据条款9所述的解压缩方法,其中提取各个数据组的基准像素之外的像素分量数据的编码值包括:
基于定长编码方案信息所指示的固定码长,从所述压缩数据中分离出各个数据组的各个像素分量数据的编码值。
11、根据条款9-10任一所述的解压缩方法,其中恢复对应的像素分量数据的原始值包括:
当所述定长编码方案信息所指示的固定码长小于预定阈值时,将所述编码值视为像素分量数据的预测误差,以及基于所述预测误差和对应数据组的基准像素的像素值,恢复所述像素分量数据的原始值;和/或
当所述定长编码方案信息所指示的固定码长等于预定阈值时,将所述编码值视为像素分量数据的原始值。
12、根据条款9-11任一所述的解压缩方法,还包括:
对恢复后的像素分量数据进行重新排列,以符合期望的图像格式。
13、一种用于图像数据的压缩装置,包括:
拆分单元,用于将图像数据拆分成多个数据组;
预测单元,用于在每个数据组中独立地进行像素值预测并生成像素分量数据的预测误差;
编码单元,用于在每个数据组内,基于表示所述数据组内的预测误差所需的码长,确定所述数据组的定长编码方案并进行编码;以及
输出单元,用于输出各个数据组的编码结果。
14、根据条款13所述的压缩装置,其中所述编码单元进一步用于:
响应于表示所述数据组内的预测误差所需的最大码长小于预定阈值,将所述最大码长确定为所述数据组的固定码长,并利用所述固定码长对所述预测误差进行定长编码,作为对应像素分量数据的编码值;和/或
响应于表示所述数据组内的预测误差所需的最大码长大于等于所述预定阈值,使用各个像素分量数据的原始值作为编码值。
15、根据条款14所述的压缩装置,其中所述预定阈值等于所述像素分量数据的原始值的码长。
16、根据条款13-15任一所述的压缩装置,还包括:
预处理单元,用于在对图像数据拆分之前,根据所述图像数据的图像格式对图像数据重新排列,以使得相同类型的像素分量数据连续排列。
17、根据条款13-16任一所述的压缩装置,其中每组包括多个连续的像素分量数据,和/或每个数据组具有相同的像素分量数据个数。
18、根据条款13-17任一所述的压缩装置,其中所述预测单元进一步用于:
选择一个像素分量数据作为基准像素;
针对剩余的像素分量数据,取相邻像素分量数据的像素值作为当前像素分量数据的预测值;以及
计算所述剩余的像素分量数据的预测值与实际值之间的差值,作为所述预测误差。
19、根据条款18所述的压缩装置,其中:
所述基准像素选自以下任一:所述数据组内的第一个像素、最后一个像素或中间像素;并且
所述相邻像素分量数据指示当前像素分量数据朝向所述基准像素方向上的前一像素分量数据。
20、根据条款18-19任一所述的压缩装置,其中所述编码结果包括:
指示各个数据组的定长编码方案的编码方案指示码;
各个数据组的基准像素的像素值;以及
各个数据组的根据所述定长编码方案得到的像素分量数据的编码值。
21、一种用于图像的压缩数据的解压缩装置,其中所述压缩数据是由原始图像数据拆分成多个数据组后编码生成的,所述解压缩装置包括:
第一提取单元,用于从所述压缩数据中提取各个数据组的定长编码方案信息和基准像素的像素值;
第二提取单元,用于根据各个数据组的定长编码方案信息,从所述压缩数据中提取各个数据组的基准像素之外的像素分量数据的编码值;以及
恢复单元,用于至少基于所述编码值,恢复对应的像素分量数据的原始值。
22、根据条款21所述的解压缩装置,其中所述第二提取单元进一步用于:
基于定长编码方案信息所指示的固定码长,从所述压缩数据中分离出各个数据组的各个像素分量数据的编码值。
23、根据条款21-22任一所述的解压缩装置,其中所述恢复单元进一步用于:
当所述定长编码方案信息所指示的固定码长小于预定阈值时,将所述编码值视为像素分量数据的预测误差,以及基于所述预测误差和对应数据组的基准像素的像素值,恢复所述像素分量数据的原始值;和/或
当所述定长编码方案信息所指示的固定码长等于预定阈值时,将所述编码值视为像素分量数据的原始值。
24、根据条款21-23任一所述的解压缩装置,还包括:
后处理单元,用于对恢复后的像素分量数据进行重新排列,以符合期望的图像格式。
25、一种图像数据的处理装置,包括:
处理器,其配置用于执行程序指令;以及
存储器,其配置用于存储所述程序指令,当所述程序指令由所述处理器加载并执行时,使得所述处理装置执行根据条款1-8任一所述的压缩方法或根据条款9-12任一所述的解压缩方法。
26、一种计算机可读存储介质,其中存储有程序指令,当所述程序指令由处理器加载并执行时,使得所述处理器执行根据条款1-8任一所述的压缩方法或根据条款9-12任一所述的解压缩方法。
虽然本文已经示出和描述了本披露的多个实施例,但对于本领域技术人员显而易见的是,这样的实施例只是以示例的方式来提供。本领域技术人员可以在不偏离本披露思想和精神的情况下想到许多更改、改变和替代的方式。应当理解的是在实践本披露的过程中,可以采用对本文所描述的本披露实施例的各种替代方案。所附权利要求书旨在限定本披露的保护范围,并因此覆盖这些权利要求范围内的等同或替代方案。
Claims (26)
1.一种用于图像数据的压缩方法,包括:
将图像数据拆分成多个数据组;
在每个数据组中独立地进行像素值预测并生成像素分量数据的预测误差;
在每个数据组内,基于表示所述数据组内的预测误差所需的码长,确定所述数据组的定长编码方案并进行编码;以及
输出各个数据组的编码结果。
2.根据权利要求1所述的压缩方法,其中确定所述数据组的定长编码方案并进行编码包括:
响应于表示所述数据组内的预测误差所需的最大码长小于预定阈值,将所述最大码长确定为所述数据组的固定码长,并利用所述固定码长对所述预测误差进行定长编码,作为对应像素分量数据的编码值;和/或
响应于表示所述数据组内的预测误差所需的最大码长大于等于所述预定阈值,使用各个像素分量数据的原始值作为编码值。
3.根据权利要求2所述的压缩方法,其中所述预定阈值等于所述像素分量数据的原始值的码长。
4.根据权利要求1-3任一所述的压缩方法,所述方法还包括:
在对图像数据拆分之前,根据所述图像数据的图像格式对图像数据重新排列,以使得相同类型的像素分量数据连续排列。
5.根据权利要求1-4任一所述的压缩方法,其中每组包括多个连续的像素分量数据,和/或每个数据组具有相同的像素分量数据个数。
6.根据权利要求1-5任一所述的压缩方法,其中在每个数据组中独立地进行像素值预测并生成像素分量数据的预测误差包括:
选择一个像素分量数据作为基准像素;
针对剩余的像素分量数据,取相邻像素分量数据的像素值作为当前像素分量数据的预测值;以及
计算所述剩余的像素分量数据的预测值与实际值之间的差值,作为所述预测误差。
7.根据权利要求6所述的压缩方法,其中:
所述基准像素选自以下任一:所述数据组内的第一个像素、最后一个像素或中间像素;并且
所述相邻像素分量数据指示当前像素分量数据朝向所述基准像素方向上的前一像素分量数据。
8.根据权利要求6-7任一所述的压缩方法,其中所述编码结果包括:
指示各个数据组的定长编码方案的编码方案指示码;
各个数据组的基准像素的像素值;以及
各个数据组的根据所述定长编码方案得到的像素分量数据的编码值。
9.一种用于图像的压缩数据的解压缩方法,其中所述压缩数据是由原始图像数据拆分成多个数据组后编码生成的,所述方法包括:
从所述压缩数据中提取各个数据组的定长编码方案信息和基准像素的像素值;
根据各个数据组的定长编码方案信息,从所述压缩数据中提取各个数据组的基准像素之外的像素分量数据的编码值;以及
至少基于所述编码值,恢复对应的像素分量数据的原始值。
10.根据权利要求9所述的解压缩方法,其中提取各个数据组的基准像素之外的像素分量数据的编码值包括:
基于定长编码方案信息所指示的固定码长,从所述压缩数据中分离出各个数据组的各个像素分量数据的编码值。
11.根据权利要求9-10任一所述的解压缩方法,其中恢复对应的像素分量数据的原始值包括:
当所述定长编码方案信息所指示的固定码长小于预定阈值时,将所述编码值视为像素分量数据的预测误差,以及基于所述预测误差和对应数据组的基准像素的像素值,恢复所述像素分量数据的原始值;和/或
当所述定长编码方案信息所指示的固定码长等于预定阈值时,将所述编码值视为像素分量数据的原始值。
12.根据权利要求9-11任一所述的解压缩方法,还包括:
对恢复后的像素分量数据进行重新排列,以符合期望的图像格式。
13.一种用于图像数据的压缩装置,包括:
拆分单元,用于将图像数据拆分成多个数据组;
预测单元,用于在每个数据组中独立地进行像素值预测并生成像素分量数据的预测误差;
编码单元,用于在每个数据组内,基于表示所述数据组内的预测误差所需的码长,确定所述数据组的定长编码方案并进行编码;以及
输出单元,用于输出各个数据组的编码结果。
14.根据权利要求13所述的压缩装置,其中所述编码单元进一步用于:
响应于表示所述数据组内的预测误差所需的最大码长小于预定阈值,将所述最大码长确定为所述数据组的固定码长,并利用所述固定码长对所述预测误差进行定长编码,作为对应像素分量数据的编码值;和/或
响应于表示所述数据组内的预测误差所需的最大码长大于等于所述预定阈值,使用各个像素分量数据的原始值作为编码值。
15.根据权利要求14所述的压缩装置,其中所述预定阈值等于所述像素分量数据的原始值的码长。
16.根据权利要求13-15任一所述的压缩装置,还包括:
预处理单元,用于在对图像数据拆分之前,根据所述图像数据的图像格式对图像数据重新排列,以使得相同类型的像素分量数据连续排列。
17.根据权利要求13-16任一所述的压缩装置,其中每组包括多个连续的像素分量数据,和/或每个数据组具有相同的像素分量数据个数。
18.根据权利要求13-17任一所述的压缩装置,其中所述预测单元进一步用于:
选择一个像素分量数据作为基准像素;
针对剩余的像素分量数据,取相邻像素分量数据的像素值作为当前像素分量数据的预测值;以及
计算所述剩余的像素分量数据的预测值与实际值之间的差值,作为所述预测误差。
19.根据权利要求18所述的压缩装置,其中:
所述基准像素选自以下任一:所述数据组内的第一个像素、最后一个像素或中间像素;并且
所述相邻像素分量数据指示当前像素分量数据朝向所述基准像素方向上的前一像素分量数据。
20.根据权利要求18-19任一所述的压缩装置,其中所述编码结果包括:
指示各个数据组的定长编码方案的编码方案指示码;
各个数据组的基准像素的像素值;以及
各个数据组的根据所述定长编码方案得到的像素分量数据的编码值。
21.一种用于图像的压缩数据的解压缩装置,其中所述压缩数据是由原始图像数据拆分成多个数据组后编码生成的,所述解压缩装置包括:
第一提取单元,用于从所述压缩数据中提取各个数据组的定长编码方案信息和基准像素的像素值;
第二提取单元,用于根据各个数据组的定长编码方案信息,从所述压缩数据中提取各个数据组的基准像素之外的像素分量数据的编码值;以及
恢复单元,用于至少基于所述编码值,恢复对应的像素分量数据的原始值。
22.根据权利要求21所述的解压缩装置,其中所述第二提取单元进一步用于:
基于定长编码方案信息所指示的固定码长,从所述压缩数据中分离出各个数据组的各个像素分量数据的编码值。
23.根据权利要求21-22任一所述的解压缩装置,其中所述恢复单元进一步用于:
当所述定长编码方案信息所指示的固定码长小于预定阈值时,将所述编码值视为像素分量数据的预测误差,以及基于所述预测误差和对应数据组的基准像素的像素值,恢复所述像素分量数据的原始值;和/或
当所述定长编码方案信息所指示的固定码长等于预定阈值时,将所述编码值视为像素分量数据的原始值。
24.根据权利要求21-23任一所述的解压缩装置,还包括:
后处理单元,用于对恢复后的像素分量数据进行重新排列,以符合期望的图像格式。
25.一种图像数据的处理装置,包括:
处理器,其配置用于执行程序指令;以及
存储器,其配置用于存储所述程序指令,当所述程序指令由所述处理器加载并执行时,使得所述处理装置执行根据权利要求1-8任一所述的压缩方法或根据权利要求9-12任一所述的解压缩方法。
26.一种计算机可读存储介质,其中存储有程序指令,当所述程序指令由处理器加载并执行时,使得所述处理器执行根据权利要求1-8任一所述的压缩方法或根据权利要求9-12任一所述的解压缩方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110460665.0A CN115250351A (zh) | 2021-04-27 | 2021-04-27 | 用于图像数据的压缩方法、解压方法及相关产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110460665.0A CN115250351A (zh) | 2021-04-27 | 2021-04-27 | 用于图像数据的压缩方法、解压方法及相关产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115250351A true CN115250351A (zh) | 2022-10-28 |
Family
ID=83697006
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110460665.0A Pending CN115250351A (zh) | 2021-04-27 | 2021-04-27 | 用于图像数据的压缩方法、解压方法及相关产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115250351A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116193113A (zh) * | 2022-12-07 | 2023-05-30 | 辉羲智能科技(上海)有限公司 | 数据解压和压缩方法及装置 |
-
2021
- 2021-04-27 CN CN202110460665.0A patent/CN115250351A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116193113A (zh) * | 2022-12-07 | 2023-05-30 | 辉羲智能科技(上海)有限公司 | 数据解压和压缩方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2014525183A (ja) | 2dマトリクスにエンコーディングパラメータを保存する画像圧縮のための方法および装置 | |
US9326011B2 (en) | Method and apparatus for generating bitstream based on syntax element | |
US8254700B1 (en) | Optimized method and system for entropy coding | |
US10009606B2 (en) | Low power context adaptive binary arithmetic decoder engine | |
US11153578B2 (en) | Gradient texturing compression codec | |
US20110055441A1 (en) | Data compression and decompression apparatus and data compression and decompression method | |
KR20210094054A (ko) | 데이터 어레이들의 비트 평면 인코딩 | |
CN110876062B (zh) | 用于特征图的高速压缩处理的电子设备及其控制方法 | |
TWI479456B (zh) | 使用誤差平面編碼的數據壓縮方法及裝置 | |
JP2014027658A (ja) | 圧縮エンコーディング及びデコーディング方法並びに装置 | |
KR101726572B1 (ko) | 무손실 이미지 압축 및 복원 방법과 이를 수행하는 장치 | |
CN110896483A (zh) | 压缩和解压缩图像数据的方法 | |
CN114501029B (zh) | 图像编码、图像解码方法、装置、计算机设备和存储介质 | |
CN115250351A (zh) | 用于图像数据的压缩方法、解压方法及相关产品 | |
US9712848B2 (en) | Frame buffer compression using separate aggregation of fixed-length and variable-length components of codewords | |
WO2018068250A1 (zh) | 处理数据的方法、装置、芯片和摄像头 | |
CN108668169B (zh) | 图像信息处理方法及装置、存储介质 | |
CN108668170B (zh) | 图像信息处理方法及装置、存储介质 | |
CN113949867B (zh) | 一种图像处理的方法及装置 | |
US10931303B1 (en) | Data processing system | |
WO2011162964A2 (en) | System and method and computer program product for parameter estimation for lossless video compression | |
KR20160022726A (ko) | 부호화 장치 및 방법 | |
CN115150625B (zh) | 图像处理方法、系统、编码端和计算机可读存储介质 | |
US9973209B2 (en) | Processor and data processing method thereof | |
CN115604465B (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 |