CN116828200B - 一种图像处理方法、处理装置、设备及介质 - Google Patents
一种图像处理方法、处理装置、设备及介质 Download PDFInfo
- Publication number
- CN116828200B CN116828200B CN202311093408.3A CN202311093408A CN116828200B CN 116828200 B CN116828200 B CN 116828200B CN 202311093408 A CN202311093408 A CN 202311093408A CN 116828200 B CN116828200 B CN 116828200B
- Authority
- CN
- China
- Prior art keywords
- data
- component
- image processing
- compressed
- processing method
- 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
Links
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/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
- H04N19/423—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 characterised by memory arrangements
-
- 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/102—Methods 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/124—Quantisation
-
- 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/176—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 block, e.g. a macroblock
-
- 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/186—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 a colour or a chrominance component
-
- 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
- H04N19/423—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 characterised by memory arrangements
- H04N19/426—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 characterised by memory arrangements using memory downsizing methods
-
- 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/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/625—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
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)
Abstract
本发明涉及一种图像处理方法、处理装置、设备及介质,图像处理方法包括行缓存压缩存储方法,其包括:获取视频图像行数据中各个分量对应的裸数据与待压缩数据;根据各个分量对应的待压缩数据、生成各个分量对应的量化差值与符号位;将各个分量对应的裸数据进行原始数据存储;根据各个分量对应的量化差值与符号位生成各个分量对应的组合记录数据,并将各个分量对应的组合记录数据作为各个分量对应的待压缩数据的行缓存压缩数据、进行压缩存储。通过上述技术方案,可解决目前图像数据行缓存时消耗存储资源大的问题。
Description
技术领域
本发明涉及图像数据技术领域,尤其是指一种图像处理方法、处理装置、设备及介质。
背景技术
在视频图像处理领域,对部分行的图像先进行缓存(例如写入内部RAM或FIFO存储器中),然后再读出处理,这种方法被称为行缓存或行buffer处理方式。行缓存的方法有着很广泛的应用,例如在JPEG图像编码领域,数据编码处理的单位一般为8*8的图像块,因此一般需要先缓存8行的图像数据,然后再依次读出,组成这样的8*8图像块,之后进行后续的处理;在图像ISP处理时,在进行降噪滤波时,需要对中心像素周边3*3矩阵块进行处理,一般也会缓存3行图像;在图像缩放处理时,根据不同的算法,也需要至少缓存3行的图像。
传统的行缓存处理方式虽然可以完成算法的计算过程,但也存在着固有的缺点:
行缓存的空间/容量大小与图像规格的增长是线性相关的,例如1080P规格的图像,每行为1920个像素点,每个行缓存单元需要缓存1920个像素点的数据,而4K图像则需要缓存3840个像素点的数据,这导致了RAM硬件资源的快速增加,而RAM资源的增加则会导致芯片的面积及成本急剧增加,成为芯片面积中最大的一部分。这对整个芯片的时序、面积、功耗都会带来负面影响。
因此,现有的技术中,将原始的图像数据在行缓存中缓存的方法,会消耗大量的存储资源(例如RAM或FIFO存储器),导致芯片的面积或成本功耗增加、时序恶化。
发明内容
为了解决上述技术问题,本发明提供了一种图像处理方法、处理装置、设备及介质,图像处理方法用于解决目前图像数据行缓存时消耗存储资源大的问题。
为实现上述目的,本发明提供一种图像处理方法,所述图像处理方法包括行缓存压缩存储方法,其包括:
获取视频图像行数据中各个分量对应的裸数据与待压缩数据;根据各个分量对应的待压缩数据、生成各个分量对应的量化差值与符号位;将各个分量对应的裸数据进行原始数据存储;根据各个分量对应的量化差值与符号位生成各个分量对应的组合记录数据,并将各个分量对应的组合记录数据作为各个分量对应的待压缩数据的行缓存压缩数据、进行压缩存储。
进一步的,获取视频图像行数据中各个分量对应的裸数据与待压缩数据,具体包括:
获取JPEG视频图像行数据中各个分量对应的裸数据与待压缩数据;其中,各个分量包括Y分量、Cb分量、Cr分量。
进一步的,根据各个分量对应的待压缩数据、生成各个分量对应的量化差值与符号位,具体包括:
对所述JPEG视频图像行数据中相邻像素的各个分量分别进行做差计算、生成各个分量对应的差分值;
将各个分量对应的差分值的最高位作为各个分量对应的符号位,将各个分量对应的差分值的剩余位作为各个分量对应的差分数据位;
对各个分量对应的差分数据位分别进行分组量化、并生成各个分量对应的量化差值。
进一步的,对各个分量对应的差分数据位分别进行分组量化、并生成各个分量对应的量化差值,具体包括:
根据第一预设舍去数据位、将所述JPEG视频图像行数据中Y分量对应的差分数据位进行数据压缩,生成Y分量对应的量化差值;
根据第二预设舍去数据位、将所述JPEG视频图像行数据中Cb分量对应的差分数据位进行数据压缩,生成Cb分量对应的量化差值;
根据所述第二预设舍去数据位、将所述JPEG视频图像行数据中Cr分量对应的差分数据位进行数据压缩,生成Cr分量对应的量化差值。
进一步的,获取所述JPEG视频图像行数据中各个分量对应的裸数据与待压缩数据,具体包括:
对于单路计算单元系统,将所述JPEG视频图像行数据中每行的第一列数据作为裸数据、剩余所有数据作为待压缩数据;
对于多路计算单元系统,根据预设图像处理基本单元、对所述JPEG视频图像行数据进行分组,将分组后每组数据的第一个数据作为裸数据、剩余所有数据作为待压缩数据。
进一步的,所述图像处理方法还包括第一解压方法,其包括:
将各个分量对应的待压缩数据的行缓存压缩数据进行反量化处理、生成各个分量对应的待压缩数据;
根据各个分量对应的裸数据以及解压后各个分量对应的待压缩数据、生成各个分量对应的原始数据;
所述图像处理方法还包括第一矩阵逐点量化计算方法,其包括:
根据各个分量对应的预设原始量化矩阵表对所述预设图像处理基本单元进行逐点量化计算。
进一步的,所述图像处理方法还包括第二解压方法,其包括:
将各个分量对应的待压缩数据的行缓存压缩数据进行部分还原处理、生成各个分量对应的部分解压数据;
所述图像处理方法还包括第二矩阵逐点量化计算方法,其包括:
根据各个分量对应的预设原始量化矩阵表生成各个分量对应的完全解压量化矩阵表,通过各个分量对应的完全解压量化矩阵表对所述预设图像处理基本单元进行逐点量化计算。
进一步的,所述图像处理方法还包括:
在对所述预设图像处理基本单元进行逐点量化计算之前,对所述预设图像处理基本单元对应的数据矩阵进行二次矩阵计算。
进一步的,所述图像处理方法还包括:
在获取到各个分量对应的解压数据之后,根据所述预设图像处理基本单元对应的数据矩阵对各个分量对应的解压数据进行格式转换;其中,各个分量对应的解压数据包括其中之一:标准解压数据、部分解压数据。
进一步的,根据所述预设图像处理基本单元对应的数据矩阵对各个分量对应的解压数据进行格式转换,具体包括:
将所述预设图像处理基本单元设置为8*8图像块;将各个分量对应的解压数据的格式转换为8*8block为单位的格式。
进一步的,所述图像处理方法还包括:
在获取所述JPEG视频图像行数据中各个分量对应的裸数据与待压缩数据之前,将所述JPEG视频图像行数据的原始RGB格式转换为Y/Cb/Cr亮度色度分离格式。
进一步的,所述图像处理方法还包括:
在对所述预设图像处理基本单元进行逐点量化计算之后,对各个分量对应的数据进行编码及数据流输出。
进一步的,对各个分量对应的数据进行编码,具体包括:
对各个分量对应的数据进行编码处理,所述编码处理包括以下至少之一:DPCM/RLE编码、霍夫曼编码。
进一步的,所述图像处理方法还包括:
在对各个分量对应的数据进行数据流输出之前,按照JPEG标准格式、对各个分量对应的数据添加头文件信息。
进一步的,对各个分量对应的差分数据位分别进行分组量化、并生成各个分量对应的量化差值,具体包括:
将所述第一预设舍去数据位设置为2位、并将所述JPEG视频图像行数据中Y分量对应的差分数据位进行数据压缩,生成Y分量对应的量化差值;
将所述第二预设舍去数据位设置为3位、并所述JPEG视频图像行数据中Cb分量对应的差分数据位进行数据压缩,生成Cb分量对应的量化差值;
根据所述第二预设舍去数据位、将所述JPEG视频图像行数据中Cr分量对应的差分数据位进行数据压缩,生成Cr分量对应的量化差值。
进一步的,根据各个分量对应的预设原始量化矩阵表生成各个分量对应的完全解压量化矩阵表,具体包括:
将Y分量对应的预设原始量化矩阵表中每个位置的值均除以4取整、作为Y分量对应的完全解压量化矩阵表中对应位置的值;
将Cb分量对应的预设原始量化矩阵表中每个位置的值均除以8取整、作为Cb分量对应的完全解压量化矩阵表中对应位置的值;
将Cr分量对应的预设原始量化矩阵表中每个位置的值均除以8取整、作为Cr分量对应的完全解压量化矩阵表中对应位置的值。
进一步的,将各个分量对应的待压缩数据的行缓存压缩数据进行反量化处理,具体包括:
将Y分量对应的量化差值乘以4、作为Y分量对应的反量化中间参数;
将Cb分量对应的量化差值乘以8、作为Cb分量对应的反量化中间参数;
将Cr分量对应的量化差值乘以8、作为Cr分量对应的反量化中间参数。
本发明还提供一种图像处理装置,用于实现前述所述的图像处理方法,所述图像处理装置包括行缓存压缩存储单元,其包括:
行缓存压缩单元,用于:获取视频图像行数据中各个分量对应的裸数据与待压缩数据;根据各个分量对应的待压缩数据、生成各个分量对应的量化差值与符号位;行缓存存储单元,用于:将各个分量对应的裸数据进行原始数据存储;根据各个分量对应的量化差值与符号位生成各个分量对应的组合记录数据,并将各个分量对应的组合记录数据作为各个分量对应的待压缩数据的行缓存压缩数据、进行压缩存储。
本发明又提供一种计算机设备,包括存储器、处理器及计算机程序,所述计算机程序存储在所述存储器上并可在所述处理器上运行,所述处理器执行所述计算机程序时实现前述所述的图像处理方法的步骤。
本发明再提供一种计算机可读存储介质,其存储有计算机程序,所述计算机程序被处理器执行时实现前述所述的图像处理方法的步骤。
本发明的上述技术方案,相比现有技术具有以下技术效果:
本发明中,先将原始的图像数据压缩;即将视频图像行数据中各个分量对应的待压缩数据分离出,并据此生成各个分量对应的量化差值与符号位;
接着,将压缩后的图像进行缓存;即将各个分量对应的裸数据保持不变、进行原始数据存储;而将各个分量对应的量化差值与符号位组合、生成各个分量对应的组合记录数据,将此组合记录数据作为各个分量对应的待压缩数据的行缓存压缩数据、进行压缩存储;
由此,通过对原始的图像数据进行压缩编码后、存入行缓存中,以便于后期从行缓存中读出、再解压还原为图像数据的方式,降低了行缓存所需的存储资源,进而降低了芯片面积及功耗,优化了时序。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是现有技术中JPEG图像数据压缩流程示意图;
图2是本发明实施例一中图像处理方法的流程示意图;
图3是本发明实际实施例中图像处理方法的硬件实现系统流程图;
图4是本发明实际实施例中两路并行计算单元系统示意图;
图5是本发明实际实施例中单路计算单元数据分类示意图;
图6是本发明实际实施例中多路计算单元数据分类示意图;
图7是本发明实际实施例中亮度分量原始的量化系数矩阵示意图;
图8是本发明实际实施例中色度分量原始的量化系数矩阵示意图;
图9是本发明实施例二中图像处理方法的硬件实现系统流程图;
图10是本发明实施例二中图像处理方法的硬件实现系统流程图;
图11是本发明实施例二中图像处理装置的结构框图;
图12为本发明实施例二中计算机设备的内部结构图。
具体实施方式
现有技术中,JPEG视频图像压缩是一种常用的视频图像压缩的国际标准,用于对连续色调静态图像进行压缩(包括灰度图像和彩色图像)。JPEG是联合图像专家组(JointPhotographic Experts Group)的缩写,这个标准目的在于支持各种基于连续色调静态图像压缩的应用。待压缩的图像可以是任何一个色彩空间,用户可以通过调整压缩比能让压缩效果达到或者接近行业领域中顶尖的压缩性能,且具有良好的解析还原质量。因此,当需要存储和传输大量的图像时,JPEG图像压缩是非常有必要的。
如图1所示,为经典的JPEG图像压缩流程图,主要包括色彩模式转换、DCT变换、量化、Z字编排、行程编码、霍夫曼编码、数据打包。色彩模式转换是将RGB色彩模式转换为YCbCr色彩模式。DCT变换全称离散余弦变换(DCT for Discrete Cosine Transform),是一种在视频图像领域常用的处理方式,在变换前需要将整个图像按照8X8的小块进行处理,每个小块的3个色彩通道分别进行DCT变换。
此外,量化过程的本质是对离散余弦变换后生成8×8系数矩阵进行优化的过程。由于人类的眼睛对高频分量不敏感,因此可以通过保留少量或者去除8×8系数矩阵的高频部分来达到减少数据量的目的。量化过程的实际目的是减小非零频率分量系数的幅度值和增加零值频率分量系数的数量。量化过程的实际实现过程为将离散余弦变换后生成8×8系数矩阵的每个系数值除以对应于该系数值的常数(这些系数组合在一起就是量化参数表),将得到的商值四舍五入取整后得到量化后的系数值。量化过程是一个有损过程,量化后的系数矩阵的高频分量部分都基本会基本接近0。相对于色差,人类的眼睛对亮度的敏感程度更高,因此量化过程中往往使用两个量化表:亮度量化表和色差量化表。
Huffman编码、Z字编排、行程编码、数据打包处理流程和方式相对固定,此处不做更多介绍。
此外,需要说明的是,FIFO,即First Input First Output,是指先进先出技术;
SOC,即System on Chip,是指片上系统;
RAM,即Random Access Memory,是指随机存取存储器;
IC,即Integrated Circuit,是指集成电路;
IP,即Intellectual Property,是指知识产权;
DDR,即Double DataRate,是指双倍速率同步动态随机存储器;
JPEG,即Joint Photographic Experts Group,是指联合图像专家组;
ISP,即Image Signal Processing,是指图像信号处理技术。
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
实施例一:
如图2所示,本发明实施例提供一种图像处理方法,图像处理方法包括行缓存压缩存储方法,其包括:
获取视频图像行数据中各个分量对应的裸数据与待压缩数据;根据各个分量对应的待压缩数据、生成各个分量对应的量化差值与符号位;将各个分量对应的裸数据进行原始数据存储;根据各个分量对应的量化差值与符号位生成各个分量对应的组合记录数据,并将各个分量对应的组合记录数据作为各个分量对应的待压缩数据的行缓存压缩数据、进行压缩存储。
在一个优选的实施方式中,获取视频图像行数据中各个分量对应的裸数据与待压缩数据,具体包括:
获取JPEG视频图像行数据中各个分量对应的裸数据与待压缩数据;其中,各个分量包括Y分量、Cb分量、Cr分量。
在具体实施例中,先将原始的图像数据压缩;即将JPEG视频图像行数据中各个分量对应的待压缩数据分离出,并据此生成各个分量对应的量化差值与符号位;
接着,将压缩后的图像进行缓存;即将各个分量对应的裸数据保持不变、进行原始数据存储;而将各个分量对应的量化差值与符号位组合、生成各个分量对应的组合记录数据,将此组合记录数据作为各个分量对应的待压缩数据的行缓存压缩数据、进行压缩存储;
由此,通过对原始的图像数据进行压缩编码后、存入行缓存中,以便于后期从行缓存中读出、再解压还原为图像数据的方式,降低了行缓存所需的存储资源,进而降低了芯片面积及功耗,优化了时序。
在实际实施例中,行缓存压缩单元用于将原始的图像数据压缩;行缓存存储单元用于将压缩后的图像进行缓存,其中,重点在于压缩后的数据存储方式。
在一个优选的实施方式中,根据各个分量对应的待压缩数据、生成各个分量对应的量化差值与符号位,具体包括:
对JPEG视频图像行数据中相邻像素的各个分量分别进行做差计算、生成各个分量对应的差分值;
将各个分量对应的差分值的最高位作为各个分量对应的符号位,将各个分量对应的差分值的剩余位作为各个分量对应的差分数据位;
对各个分量对应的差分数据位分别进行分组量化、并生成各个分量对应的量化差值。
在具体实施例中,在压缩时,可使用数据分类+差分计算+分组量化+分类存储的方式,差分计算是通过使用相邻像素对应分量做差的方式进行计算。
上述图像处理方法,减少了所需的存储空间,降低了资源消耗或芯片面积,同时也降低了因为芯片面积较少而减少的静态功耗;
同时,由于实际的视频图像中,相邻的图像值相差很小,使用差值存储时,差值只会在很小的范围内变化,因此也会降低芯片的动态功耗。
在一个优选的实施方式中,对各个分量对应的差分数据位分别进行分组量化、并生成各个分量对应的量化差值,具体包括:
根据第一预设舍去数据位、将JPEG视频图像行数据中Y分量对应的差分数据位进行数据压缩,生成Y分量对应的量化差值;
根据第二预设舍去数据位、将JPEG视频图像行数据中Cb分量对应的差分数据位进行数据压缩,生成Cb分量对应的量化差值;
根据第二预设舍去数据位、将JPEG视频图像行数据中Cr分量对应的差分数据位进行数据压缩,生成Cr分量对应的量化差值。
在一个优选的实施方式中,对各个分量对应的差分数据位分别进行分组量化、并生成各个分量对应的量化差值,具体包括:
将第一预设舍去数据位设置为2位、并将JPEG视频图像行数据中Y分量对应的差分数据位进行数据压缩,生成Y分量对应的量化差值;
将第二预设舍去数据位设置为3位、并JPEG视频图像行数据中Cb分量对应的差分数据位进行数据压缩,生成Cb分量对应的量化差值;
根据第二预设舍去数据位、将JPEG视频图像行数据中Cr分量对应的差分数据位进行数据压缩,生成Cr分量对应的量化差值。
在具体实施例中,在压缩时,可使用数据分类+差分计算+分组量化+分类存储的方式。
在分组量化时,对符号位保留不做处理。
在这个步骤中对Y分量和Cb、Cr分量的差分数据分别进行量化,这是因为人眼对于Y色度分量的敏感度远高于色度分量,因此适当减少色度分量的精度(例如数据位宽),对显示的效果影响很小。
在实际实施例中,对于Y分量对应的量化差值Y_diff_data_x,舍去低2bit的数据位,原有的8bit数据压缩为6bit数据,其效果上为原始数据/4、取商。
对于Cb、Cr分量对应的量化差值,分别舍去低3bit的数据位,原有的8bit数据压缩为5bit数据,其效果上为原始数据/8、取商。
通过前述的计算,已经获得了每个像素点量化后的差值和符号位,以便将其组合记录。
在一个优选的实施方式中,获取JPEG视频图像行数据中各个分量对应的裸数据与待压缩数据,具体包括:
对于单路计算单元系统,将JPEG视频图像行数据中每行的第一列数据作为裸数据、剩余所有数据作为待压缩数据;
对于多路计算单元系统,根据预设图像处理基本单元、对JPEG视频图像行数据进行分组,将分组后每组数据的第一个数据作为裸数据、剩余所有数据作为待压缩数据。
在具体实施例中,上述图像处理方法不仅适用于一路计算单元系统、同时也适用于多路计算单元系统;对于不同的计算单元系统,使用不同的图像行压缩缓存方法。
在实际实施例中,对于单路计算单元,将原始图像数据每行的第一列数据分类为裸数据,后续的所有数据均为待压缩数据;
对于多路计算单元,对每行图像数据首先进行分组,分组的依据为后续图像处理的基本单元;在jpeg处理时,处理的基本单元为8*8的矩阵,因此每行图像按8像素为一组分组,之后将每一组的第一个像素记录为裸数据,其他为待压缩数据。
对于裸数据,不进行后续的处理,直接将原始数据存储,对于待压缩数据进入后续步骤的处理。
在一个优选的实施方式中,图像处理方法还包括第一解压方法,其包括:
将各个分量对应的待压缩数据的行缓存压缩数据进行反量化处理、生成各个分量对应的待压缩数据;
根据各个分量对应的裸数据以及解压后各个分量对应的待压缩数据、生成各个分量对应的原始数据;
图像处理方法还包括第一矩阵逐点量化计算方法,其包括:
根据各个分量对应的预设原始量化矩阵表对预设图像处理基本单元进行逐点量化计算。
在一个优选的实施方式中,将各个分量对应的待压缩数据的行缓存压缩数据进行反量化处理,具体包括:
将Y分量对应的量化差值乘以4、作为Y分量对应的反量化中间参数;
将Cb分量对应的量化差值乘以8、作为Cb分量对应的反量化中间参数;
将Cr分量对应的量化差值乘以8、作为Cr分量对应的反量化中间参数。
在实际实施例中,行缓存解压单元用于将压缩后图像数据完全或部分还原为原始的图像数据。
对于标准解压,此方法将压缩后的数据还原为原始数据。
对于裸数据位置的数据,存储时即是原始数据,因此读出后也不做处理。
对于其他位置的数据,首先进行反量化处理,具体的计算方法与压缩时的方法,对于压缩2bit时,乘以4获得中间参数x_diff_temp;对于压缩3bit时,乘以8获得中间参数x_diff_temp;
Y_diff_temp = Y_diff_Q_x * 4;
Cb_diff_temp = Cb_diff_Q_x * 8;
Cr_diff_temp = Cr_diff_Q_x * 8。
此外,对于jpeg算法,本身在DCT计算后存在矩阵逐点量化计算过程。这个矩阵逐点量化计算过程与前述的量化过程不同,其量化是指对经过DCT计算后的8*8矩阵进行逐点的量化,即矩阵中每个位置的数据都有一个对应的量化系数;
由于在后续的步骤中存在着此矩阵逐点量化计算步骤,因此在行缓存解压步骤时,可以不将前面压缩后的数据完全解压,而是改变后续矩阵逐点量化计算步骤中的量化表。
当然,若在行缓存解压时,使用的是标准的解压方法,则此处使用原始的量化表。
在一个优选的实施方式中,图像处理方法还包括第二解压方法,其包括:
将各个分量对应的待压缩数据的行缓存压缩数据进行部分还原处理、生成各个分量对应的部分解压数据;
图像处理方法还包括第二矩阵逐点量化计算方法,其包括:
根据各个分量对应的预设原始量化矩阵表生成各个分量对应的完全解压量化矩阵表,通过各个分量对应的完全解压量化矩阵表对预设图像处理基本单元进行逐点量化计算。
在一个优选的实施方式中,根据各个分量对应的预设原始量化矩阵表生成各个分量对应的完全解压量化矩阵表,具体包括:
将Y分量对应的预设原始量化矩阵表中每个位置的值均除以4取整、作为Y分量对应的完全解压量化矩阵表中对应位置的值;
将Cb分量对应的预设原始量化矩阵表中每个位置的值均除以8取整、作为Cb分量对应的完全解压量化矩阵表中对应位置的值;
将Cr分量对应的预设原始量化矩阵表中每个位置的值均除以8取整、作为Cr分量对应的完全解压量化矩阵表中对应位置的值。
在实际实施例中,当使用部分解压方法时,原始的图像数据已经进行了部分的量化计算,因此在此步骤进行计算时,需要对原始的量化表Y_QN、C_QN进行处理,使用处理后的量化表进行量化计算。具体为:
Y_QN_D = Y_QN/4
C_QN_D = C_QN/8
Y_QN_D、Y_QN均为8*8的矩阵,将Y_QN每个位置的值均除以4取整、作为Y_QN_D对应位置的值;C_QN_D、C_QN均为8*8的矩阵,将C_QN每个位置的值均除以8取整、作为C_QN_D对应位置的值。
由此,上述图像处理方法应用于JPEG系统中,在减少行缓存所需资源的基础上,还优化了JPEG算法的计算流程,减少了计算量,提高了编码效率。
在一个优选的实施方式中,图像处理方法还包括:
在对预设图像处理基本单元进行逐点量化计算之前,对预设图像处理基本单元对应的数据矩阵进行二次矩阵计算。
在一个优选的实施方式中,图像处理方法还包括:
在获取到各个分量对应的解压数据之后,根据预设图像处理基本单元对应的数据矩阵对各个分量对应的解压数据进行格式转换;其中,各个分量对应的解压数据包括其中之一:标准解压数据、部分解压数据。
在一个优选的实施方式中,根据预设图像处理基本单元对应的数据矩阵对各个分量对应的解压数据进行格式转换,具体包括:
将预设图像处理基本单元设置为8*8图像块;将各个分量对应的解压数据的格式转换为8*8block为单位的格式。
在实际实施例中,由行缓存压缩系统中读取出解压数据后,组成8*8格式的数据矩阵,进入后续的DCT计算,DCT计算可以看做是对数据矩阵进行2次矩阵计算。
其中,8*8图像块是指:将图像数据格式转换为8*8block为单位的格式。
在一个优选的实施方式中,图像处理方法还包括:
在获取JPEG视频图像行数据中各个分量对应的裸数据与待压缩数据之前,将JPEG视频图像行数据的原始RGB格式转换为Y/Cb/Cr亮度色度分离格式。
在实际实施例中,原始的图像输入到系统后,数据格式一般为RGB格式,但图像处理时一般是对Y/Cb/Cr格式进行计算,因此需要将其转换为Y/Cb/Cr,即亮度和色度分离的格式。
在一个优选的实施方式中,图像处理方法还包括:
在对预设图像处理基本单元进行逐点量化计算之后,对各个分量对应的数据进行编码及数据流输出。
在一个优选的实施方式中,对各个分量对应的数据进行编码,具体包括:
对各个分量对应的数据进行编码处理,编码处理包括以下至少之一:DPCM/RLE编码、霍夫曼编码。
在一个优选的实施方式中,图像处理方法还包括:
在对各个分量对应的数据进行数据流输出之前,按照JPEG标准格式、对各个分量对应的数据添加头文件信息。
在实际实施例中,在逐点量化后进行后续的DPCM/RLE编码、霍夫曼编码及添加头文件,最后输出码流。
添加头文件是指:按照JPEG标准格式增加头文件信息。
如图3所示,本发明实际实施例提供的图像处理方法的硬件实现系统流程图中,重点模块的作用如下:
1.行缓存压缩系统-行缓存压缩单元:用于将原始的图像数据压缩;
2.行缓存压缩系统-行缓存存储单元:用于将压缩后的图像进行缓存,重点在于压缩后的数据存储方式;
3.行缓存压缩系统-行缓存解压单元:用于将压缩后图像数据完全或部分还原为原始的图像数据;
4.优化后量化计算:用于基于行缓存压缩和JPEG的量化处理过程,进行优化处理。
此外,其余模块的作用如下:
1.Y/Cb/Cr计算:原始的数据格式一般为RGB格式,在图像编码时,需要将其转换为亮度和色度分离的格式;
2.8*8图像块:将图像数据格式转换为8*8block为单位的格式;
3.计算单元:包括DCT(离散余弦变换)、DPCM(差分脉冲编码)、RLE(行程编码)、Huffman编码;
4.添加头文件:按照JPEG标准格式增加头文件信息。
据此,本发明实际实施例提供的图像处理方法中,具体实现步骤如下:
上述图像行缓存压缩系统方法,不仅适用于一路计算单元系统、同时也适用于多路计算单元系统,对于不同的系统,使用不同的图像行压缩缓存方法。
其中,以1920*1080分辨率、rgb888格式图像、一路和两路计算单元为例,进行说明。此方法适用于所有标准分辨率,也可以根据此方法扩展至更多路计算单元。
如图4所示,使用2路计算单元时,可以同时进行block-1、block-2的图像jpeg计算,并行计算可以提高效率。
步骤1:图像格式转换
原始的图像输入到系统后,数据格式一般为RGB格式,但图像处理时一般是对Y/Cb/Cr格式进行计算,因此需要将其转换为Y/Cb/Cr,即亮度和色度分离的格式。
步骤2:行缓存压缩
在压缩时使用数据分类+差分计算+分组量化+分类存储的方式,对于单路和多路计算单元时,使用不同的处理方法。
数据分类步骤:
如图5所示,对于单路计算单元,将原始图像数据每行的第一列数据分类为裸数据,后续的所有数据均为待压缩数据;
如图6所示,对于多路计算单元,对每行图像数据首先进行分组,分组的依据为后续图像处理的基本单元;在jpeg处理时,处理的基本单元为8*8的矩阵,因此每行图像按8像素为一组分组,之后将每一组的第一个像素记录为裸数据,其他为待压缩数据。
对于裸数据,不进行后续的处理,直接将原始数据存储,对于待压缩数据进入后续步骤的处理。
差分计算步骤:
差分计算是通过使用相邻像素对应分量做差的方式进行计算,对于Y、Cb、Cr分量的处理方式是相同的;以Y分量为例,进行说明:
Y_diff_1 = Y1,
Y_diff_2 = Y2-Y1,
Y_diff_3 = Y3-Y2,
Y_diff_4 = Y4-Y3,
Y_diff_5 = Y5-Y4,
……
以此类推完成每行的计算。同样的方法,可以把Cb、Cr的差分值也计算出,记为Cb_diff_x、Cr_diff_x。
其中,使用差分计算时,计算的结果比原始的数据位宽要多1bit的符号位,8bit的分量计算后为9bit,即结果范围为-255至255之间。
对于Y_diff_x、Cb_diff_x、Cr_diff_x,其最高位为符号位,分别记为Y_flag_x、Cb_flag_x、Cr_flag_x;
数据位记为Y_diff_data_xCb_diff_data_xCr_diff_data_x;即:
Y_flag_x = Y_diff_x[8],
Y_diff_data_x = Y_diff_x[7:0];
Cb_flag_x = Cb_diff_x[8],
Cb_diff_data_x = Cb_diff_x[7:0];
Cr_flag_x = Cr_diff_x[8],
Cr_diff_data_x = Cr_diff_x[7:0]
分组量化步骤:
在分组量化时,对于单路和多路计算单元中的差分数据,其处理方法是相同的,对符号位保留不做处理。
在附例中,使用的图像差分数据的数据位宽为8bit,即范围为0-255。在这个步骤中对Y分量和Cb、Cr分量的差分数据分别进行量化,这是因为人眼对于Y色度分量的敏感度远高于色度分量,因此适当减少色度分量的精度(例如数据位宽),对显示的效果影响很小。
对于Y_diff_data_x,舍去低2bit的数据位,原有的8bit数据压缩为6bit数据,其效果上为原始数据/4、取商。
例如:原始数据值为203,压缩后的值为50。对于数据压缩的位数,一般可以取1、2或3位,可以根据实际的应用场景和后续的处理流程选择。在附例中,取2位:
Y_diff_Q_x = Y_diff_data_x[7:2]
而对于Cb、Cr分量,舍去低3bit的数据位,原有的8bit数据压缩为5bit数据,其效果上为原始数据/8、取商。
例如:原始数据值为203,压缩后的值为25。对于数据压缩的位数,一般可以取2或3或4位,可以根据实际的应用场景和后续的处理流程选择。在附例中,取3位:
Cr_diff_Q_x = Cr_diff_data_x[7:3]
步骤3:行缓存存储
分类存储步骤:
通过前述的计算,已经获得了每个像素点量化后的差值和符号位,将其组合记录为:
Y_com_x={Y_flag_x,Y_diff_Q_x}
Cb_com_x={ Cb_flag_x,Cb_diff_Q_x}
Cr_com_x={ Cr_flag_x,Cr_diff_Q_x}
对于前述的裸数据位置(即图5、图6中的蓝色位置数据),将其原始数据进行存储;对于待压缩数据位置的像素(即图5、图6中的白色位置数据),将Y_com_x、Cb_com_x、Cr_com_x进行存储。
经过上述步骤的数据压缩,每行需要存储的数据量已经减少;因此在硬件设计时,对应的行缓存存储资源容量也相应减少,使芯片的面积降低,与此同时功耗和时序得到优化。具体的存储单元空间计算方式如下:
现有技术中,对于已有常见技术方案,每行行存储需要的空间:24bit*1920=46080bit;
而经过本方法压缩后,技术改善如下:
单路计算单元时,每行所需的空间:19*1919+24=36485bit
多路计算单元时,每行所需的空间:19*1680+24*240=37680bit
可见,通过这种方法减少了所需的存储空间,降低了资源消耗或芯片面积,同时也降低了因为芯片面积较少而减少的静态功耗。
同时由于实际的视频图像中,相邻的图像值相差很小,使用差值存储时,差值只会在很小的范围内变化,因此也会降低芯片的动态功耗。
步骤4:行缓存解压
数据从行缓存单元读出后,需要进行行缓存数据解压,可分为标准解压、基于后续算法流程的部分解压。
标准解压步骤:
此方法将压缩后的数据还原为原始数据。
对于裸数据位置的数据,存储时即是原始数据,因此读出后也不做处理。
对于其他位置的数据,首先进行反量化处理,具体的计算方法与压缩时的方法,对于压缩2bit时,乘以4获得中间参数x_diff_temp;对于压缩3bit时,乘以8获得中间参数x_diff_temp;
Y_diff_temp = Y_diff_Q_x * 4;
Cb_diff_temp = Cb_diff_Q_x * 8;
Cr_diff_temp = Cr_diff_Q_x * 8;
之后将符号位与中间参数组合值一起:
Y_diff_temp_f = {Y_flag_x ,Y_diff_temp}
Cb_diff_temp_f = {Cb_flag_x , Cb_diff_temp}
Cr_diff_temp_f = { Cr_flag_x , Cr_diff_temp}
之后通过与前像素值相加的方法、还原为原始像素,例如:
Y1= Y1,
Y2= Y_diff_temp_f_2 +Y1,
Y3= Y_diff_temp_f_3 +Y2,
以此类推完成所有数据的解压。对于单路计算系统,只有每行的第一个像素为原值;对于多路计算系统,每组的第一个像素为原值,不需要进行计算。
基于后续算法流程的部分解压步骤:
需要说明的是,此种解压方法与后续算法流程有关;
即,对于jpeg算法,本身在DCT计算后存在“矩阵逐点量化计算”过程。这个“矩阵逐点量化计算”过程与前述的量化过程不同,其量化是指对经过DCT计算后的8*8矩阵进行逐点的量化,即矩阵中每个位置的数据都有一个对应的量化系数;
如图7所示,对于亮度分量,原始的量化系数矩阵记为Y_QN,矩阵数据详见附图;
如图8所示,对于色度分量(包括Cr、Cb),原始的量化系数矩阵记为C_QN,矩阵数据详见附图。
由于在后续的步骤中存在着“矩阵逐点量化计算”步骤,因此在行缓存解压步骤时,可以不将前面压缩后的数据完全解压,而是改变后续“矩阵逐点量化计算”步骤中的量化表。具体如下:
将裸数据位置的原始数据进行量化处理,具体方法与行缓存压缩步骤中对待压缩数据的处理方法相同;在附例中,对Y分量压缩2bit,对Cr、Cb分量压缩3bit;经过这个处理,所有的数据都变成了压缩后的数据;
之后使用前值像素与差值相加的方式还原数据,还原后的数据记为Y_com_tol、Cb_com_tol、Cr_com_tol,此时数据为进行2bit和3bit量化后的数据、并不是原始数据,只完成了部分解压。
步骤5:DCT计算
由行缓存压缩系统中读取出解压数据后,组成8*8格式的数据矩阵,进入后续的DCT计算,DCT计算可以看做是对数据矩阵进行2次矩阵计算。
步骤6:优化后的量化计算/矩阵逐点量化计算
前面提到,在行缓存解压时,可以选择基于后续算法流程的部分解压方法;当使用此方法时,原始的图像数据已经进行了部分的量化计算,因此在此步骤进行计算时,需要对原始的量化表Y_QN、C_QN进行处理,使用处理后的量化表进行量化计算。具体为:
Y_QN_D = Y_QN/4
C_QN_D = C_QN/8
Y_QN_D、Y_QN均为8*8的矩阵,将Y_QN每个位置的值均除以4取整、作为Y_QN_D对应位置的值;C_QN_D、C_QN均为8*8的矩阵,将C_QN每个位置的值均除以8取整、作为C_QN_D对应位置的值。
若在行缓存解压时,使用的是标准的解压方法,则此处使用原始的量化表。
步骤7:编码及数据流输出
在量化后进行后续的DPCM/RLE编码、霍夫曼编码及添加头文件,最后输出码流。
综上,上述视频图像行缓存压缩处理的实现方法,通过对原始的图像数据进行压缩编码后、存入行缓存中,从行缓存中读出、再解压还原为图像数据的方式,降低了行缓存所需的存储资源,进而降低了芯片面积及功耗,优化了时序。
同时,行缓存压缩方法在JPEG系统中的应用方式,在减少行缓存所需资源的基础上,还优化了JPEG算法的计算流程,减少了计算量,提高了编码效率。
上述视频图像行缓存压缩处理的实现方法,可以减少图像行缓存的硬件存储资源、减少芯片面积、降低功耗,可以应用在视频图像的很多领域(如图像编码、ISP、图像缩放等)。
需要注意的是,虽然流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
实施例二:
如图9所示,本发明实际实施例提供的图像处理方法,还可用于H.264/AVC及H265/HEVC编码标准。
H.264是由ITU-T视频编码专家组(VCEG)和ISO/IEC动态图像专家组(MPEG)联合组成的联合视频组(JVT,Joint Video Team)提出的高度压缩数字视频编解码器标准。这个标准通常被称之为H.264/AVC(或者AVC/H.264或者H.264/MPEG-4 AVC或MPEG-4/H.264AVC)。
H.265是ITU-T VCEG继H.264之后所制定的新的视频编码标准。H.265标准围绕着现有的视频编码标准H.264,保留原来的某些技术,同时对一些相关的技术加以改进。新技术使用先进的技术用以改善码流、编码质量、延时和算法复杂度之间的关系,达到最优化设置。这个标准通常被称之为H.265/HEVC。
针对H.264/AVC及H265/HEVC编码标准,附图9为上述图像处理方法的流程示意图;由于H265的编码结构和H264基本相同,因此可使用相同的结构,只是每个子模块的具体的处理方式稍有不同。
其中,行缓存压缩系统与JPEG方案中介绍的相同;在行缓存压缩系统的行缓存解压单元中,实现将压缩后图像数据完全还原为原始的图像数据。
附图中的其他子模块均为H.264及H.265的常用技术,包括帧间预测压缩(运动估计、运动补偿)、帧内预测及模式选择、变换、量化、反变换、反量化、去块滤波、熵编码等等。
实施例三:
如图10所示,本发明实际实施例提供的图像处理方法,还可用于JPEG-LS编码标准。
JPEG-LS标准是由国际标准化组织ISO于1999年12月发布的ISO-14495-1标准、以及国际电信联盟ITU于1998年6月发布的ITU-T.87标准。JPEG-LS是基于预测的无损及近无损压缩算法,采用固定预测、Golomb编码以及游程长度编码实现对图像的无损压缩以及近无损压缩。
针对JPEG-LS编码标准,附图10为行缓存压缩系统的流程示意图。
JPEG-LS编码器首先对源图像数据进行上下文建模,然后根据待编码像素的局部梯度值进行编码模式选择;若局部梯度值全部为零,则对其进行游程编码;否则对其进行正常编码;编码结束后输出编码码流。
需要注意的是,当JPEG或H264/H265编码时,需要生成8*8或16*16的图像块进行后续的处理,因此需要至少8或16个行缓存系统;而JPEG-LS标准在计算局部梯度时,只需要相关的2行图像,因此只需要2个行缓存系统。
JPEG-LS标准并不是对JPEG标准的修正与补充,而是一种采用全新架构、全新算法的全新标准。
实施例四:
如图11所示,本发明实施例还提供一种图像处理装置,用于实现前述的图像处理方法,图像处理装置包括行缓存压缩存储单元,其包括:
行缓存压缩单元,用于:获取视频图像行数据中各个分量对应的裸数据与待压缩数据;根据各个分量对应的待压缩数据、生成各个分量对应的量化差值与符号位;行缓存存储单元,用于:将各个分量对应的裸数据进行原始数据存储;根据各个分量对应的量化差值与符号位生成各个分量对应的组合记录数据,并将各个分量对应的组合记录数据作为各个分量对应的待压缩数据的行缓存压缩数据、进行压缩存储。
在一个优选的实施方式中,行缓存压缩单元包括:
差分值生成单元,用于:对JPEG视频图像行数据中相邻像素的各个分量分别进行做差计算、生成各个分量对应的差分值;
符号位与差分数据位生成单元,用于:将各个分量对应的差分值的最高位作为各个分量对应的符号位,将各个分量对应的差分值的剩余位作为各个分量对应的差分数据位;
量化差值生成单元,用于:对各个分量对应的差分数据位分别进行分组量化、并生成各个分量对应的量化差值。
在一个优选的实施方式中,量化差值生成单元还用于:
根据第一预设舍去数据位、将JPEG视频图像行数据中Y分量对应的差分数据位进行数据压缩,生成Y分量对应的量化差值;
根据第二预设舍去数据位、将JPEG视频图像行数据中Cb分量对应的差分数据位进行数据压缩,生成Cb分量对应的量化差值;
根据第二预设舍去数据位、将JPEG视频图像行数据中Cr分量对应的差分数据位进行数据压缩,生成Cr分量对应的量化差值。
在一个优选的实施方式中,行缓存压缩单元还用于:
对于单路计算单元系统,将JPEG视频图像行数据中每行的第一列数据作为裸数据、剩余所有数据作为待压缩数据;
对于多路计算单元系统,根据预设图像处理基本单元、对JPEG视频图像行数据进行分组,将分组后每组数据的第一个数据作为裸数据、剩余所有数据作为待压缩数据。
在一个优选的实施方式中,图像处理装置还包括第一解压单元,其用于:
将各个分量对应的待压缩数据的行缓存压缩数据进行反量化处理、生成各个分量对应的待压缩数据;
根据各个分量对应的裸数据以及解压后各个分量对应的待压缩数据、生成各个分量对应的原始数据;
图像处理装置还包括第一矩阵逐点量化计算单元,其用于:
根据各个分量对应的预设原始量化矩阵表对预设图像处理基本单元进行逐点量化计算。
在一个优选的实施方式中,图像处理装置还包括第二解压单元,其用于:
将各个分量对应的待压缩数据的行缓存压缩数据进行部分还原处理、生成各个分量对应的部分解压数据;
图像处理装置还包括第二矩阵逐点量化计算单元,其用于:
根据各个分量对应的预设原始量化矩阵表生成各个分量对应的完全解压量化矩阵表,通过各个分量对应的完全解压量化矩阵表对预设图像处理基本单元进行逐点量化计算。
在一个优选的实施方式中,图像处理装置还包括DCT计算单元,其用于:
在对预设图像处理基本单元进行逐点量化计算之前,对预设图像处理基本单元对应的数据矩阵进行二次矩阵计算。
在一个优选的实施方式中,图像处理装置还包括解压数据格式转换单元,其用于:
在获取到各个分量对应的解压数据之后,根据预设图像处理基本单元对应的数据矩阵对各个分量对应的解压数据进行格式转换;其中,各个分量对应的解压数据包括其中之一:标准解压数据、部分解压数据。
在一个优选的实施方式中,解压数据格式转换单元还用于:
将预设图像处理基本单元设置为8*8图像块;将各个分量对应的解压数据的格式转换为8*8block为单位的格式。
在一个优选的实施方式中,图像处理装置还包括原始RGB格式转换单元,其用于:
在获取JPEG视频图像行数据中各个分量对应的裸数据与待压缩数据之前,将JPEG视频图像行数据的原始RGB格式转换为Y/Cb/Cr亮度色度分离格式。
在一个优选的实施方式中,图像处理装置还包括编码及数据流输出单元,其用于:
在对预设图像处理基本单元进行逐点量化计算之后,对各个分量对应的数据进行编码及数据流输出。
在一个优选的实施方式中,编码及数据流输出单元还用于:
对各个分量对应的数据进行编码处理,编码处理包括以下至少之一:DPCM/RLE编码、霍夫曼编码。
在一个优选的实施方式中,图像处理装置还包括添加头文件单元,其用于:
在对各个分量对应的数据进行数据流输出之前,按照JPEG标准格式、对各个分量对应的数据添加头文件信息。
在一个优选的实施方式中,量化差值生成单元还用于:
将第一预设舍去数据位设置为2位、并将JPEG视频图像行数据中Y分量对应的差分数据位进行数据压缩,生成Y分量对应的量化差值;
将第二预设舍去数据位设置为3位、并JPEG视频图像行数据中Cb分量对应的差分数据位进行数据压缩,生成Cb分量对应的量化差值;
根据第二预设舍去数据位、将JPEG视频图像行数据中Cr分量对应的差分数据位进行数据压缩,生成Cr分量对应的量化差值。
在一个优选的实施方式中,第二矩阵逐点量化计算单元还用于:
将Y分量对应的预设原始量化矩阵表中每个位置的值均除以4取整、作为Y分量对应的完全解压量化矩阵表中对应位置的值;
将Cb分量对应的预设原始量化矩阵表中每个位置的值均除以8取整、作为Cb分量对应的完全解压量化矩阵表中对应位置的值;
将Cr分量对应的预设原始量化矩阵表中每个位置的值均除以8取整、作为Cr分量对应的完全解压量化矩阵表中对应位置的值。
在一个优选的实施方式中,第一解压单元还用于:
将Y分量对应的量化差值乘以4、作为Y分量对应的反量化中间参数;
将Cb分量对应的量化差值乘以8、作为Cb分量对应的反量化中间参数;
将Cr分量对应的量化差值乘以8、作为Cr分量对应的反量化中间参数。
关于上述装置的具体限定,可以参见上文中对于方法的限定,在此不再赘述。
上述装置中的各个模块,可全部或部分通过软件、硬件及其组合来实现。上述各模块可以以硬件形式内嵌于、或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
其中,如图12所示,上述计算机设备可以是终端,其包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
可以理解的是,上述图中示出的结构,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
上述实施例方法中的全部或部分流程的实现,可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。
其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
需要注意的是,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其它等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (19)
1.一种图像处理方法,其特征在于,所述图像处理方法包括行缓存压缩存储方法,其包括:
获取视频图像行数据中各个分量对应的裸数据与待压缩数据;根据各个分量对应的待压缩数据、生成各个分量对应的量化差值与符号位;
将各个分量对应的裸数据进行原始数据存储;根据各个分量对应的量化差值与符号位生成各个分量对应的组合记录数据,并将各个分量对应的组合记录数据作为各个分量对应的待压缩数据的行缓存压缩数据、进行压缩存储;
所述根据各个分量对应的待压缩数据、生成各个分量对应的量化差值与符号位,具体包括:
对JPEG视频图像行数据中相邻像素的各个分量分别进行做差计算、生成各个分量对应的差分值;
将各个分量对应的差分值的最高位作为各个分量对应的符号位,将各个分量对应的差分值的剩余位作为各个分量对应的差分数据位;
根据预设舍去数据位、将所述JPEG视频图像行数据中各个分量对应的差分数据位进行数据压缩,生成各个分量对应的量化差值。
2.根据权利要求1所述的图像处理方法,其特征在于,获取视频图像行数据中各个分量对应的裸数据与待压缩数据,具体包括:
获取JPEG视频图像行数据中各个分量对应的裸数据与待压缩数据;其中,各个分量包括Y分量、Cb分量、Cr分量。
3.根据权利要求2所述的图像处理方法,其特征在于,根据预设舍去数据位、将所述JPEG视频图像行数据中各个分量对应的差分数据位进行数据压缩,生成各个分量对应的量化差值,具体包括:
根据第一预设舍去数据位、将所述JPEG视频图像行数据中Y分量对应的差分数据位进行数据压缩,生成Y分量对应的量化差值;
根据第二预设舍去数据位、将所述JPEG视频图像行数据中Cb分量对应的差分数据位进行数据压缩,生成Cb分量对应的量化差值;
根据所述第二预设舍去数据位、将所述JPEG视频图像行数据中Cr分量对应的差分数据位进行数据压缩,生成Cr分量对应的量化差值。
4.根据权利要求3所述的图像处理方法,其特征在于,获取所述JPEG视频图像行数据中各个分量对应的裸数据与待压缩数据,具体包括:
对于单路计算单元系统,将所述JPEG视频图像行数据中每行的第一列数据作为裸数据、剩余所有数据作为待压缩数据;
对于多路计算单元系统,根据预设图像处理基本单元、对所述JPEG视频图像行数据进行分组,将分组后每组数据的第一个数据作为裸数据、剩余所有数据作为待压缩数据。
5.根据权利要求4所述的图像处理方法,其特征在于,所述图像处理方法还包括第一解压方法,其包括:
将各个分量对应的待压缩数据的行缓存压缩数据进行反量化处理、生成各个分量对应的待压缩数据;
根据各个分量对应的裸数据以及解压后各个分量对应的待压缩数据、生成各个分量对应的原始数据;
所述图像处理方法还包括第一矩阵逐点量化计算方法,其包括:
根据各个分量对应的预设原始量化矩阵表对所述预设图像处理基本单元进行逐点量化计算。
6.根据权利要求5所述的图像处理方法,其特征在于,所述图像处理方法还包括第二解压方法,其包括:
将各个分量对应的待压缩数据的行缓存压缩数据进行部分还原处理、生成各个分量对应的部分解压数据;
所述图像处理方法还包括第二矩阵逐点量化计算方法,其包括:
根据各个分量对应的预设原始量化矩阵表生成各个分量对应的完全解压量化矩阵表,通过各个分量对应的完全解压量化矩阵表对所述预设图像处理基本单元进行逐点量化计算。
7.根据权利要求5或6所述的图像处理方法,其特征在于,所述图像处理方法还包括:
在对所述预设图像处理基本单元进行逐点量化计算之前,对所述预设图像处理基本单元对应的数据矩阵进行二次矩阵计算。
8.根据权利要求5或6所述的图像处理方法,其特征在于,所述图像处理方法还包括:
在获取到各个分量对应的解压数据之后,根据所述预设图像处理基本单元对应的数据矩阵对各个分量对应的解压数据进行格式转换;其中,各个分量对应的解压数据包括其中之一:标准解压数据、部分解压数据。
9.根据权利要求8所述的图像处理方法,其特征在于,根据所述预设图像处理基本单元对应的数据矩阵对各个分量对应的解压数据进行格式转换,具体包括:
将所述预设图像处理基本单元设置为8*8图像块;将各个分量对应的解压数据的格式转换为8*8block为单位的格式。
10.根据权利要求9所述的图像处理方法,其特征在于,所述图像处理方法还包括:
在获取所述JPEG视频图像行数据中各个分量对应的裸数据与待压缩数据之前,将所述JPEG视频图像行数据的原始RGB格式转换为Y/Cb/Cr亮度色度分离格式。
11.根据权利要求10所述的图像处理方法,其特征在于,所述图像处理方法还包括:
在对所述预设图像处理基本单元进行逐点量化计算之后,对各个分量对应的数据进行编码及数据流输出。
12.根据权利要求11所述的图像处理方法,其特征在于,对各个分量对应的数据进行编码,具体包括:
对各个分量对应的数据进行编码处理,所述编码处理包括以下至少之一:DPCM/RLE编码、霍夫曼编码。
13.根据权利要求11所述的图像处理方法,其特征在于,所述图像处理方法还包括:
在对各个分量对应的数据进行数据流输出之前,按照JPEG标准格式、对各个分量对应的数据添加头文件信息。
14.根据权利要求3所述的图像处理方法,其特征在于,对各个分量对应的差分数据位分别进行分组量化、并生成各个分量对应的量化差值,具体包括:
将所述第一预设舍去数据位设置为2位、并将所述JPEG视频图像行数据中Y分量对应的差分数据位进行数据压缩,生成Y分量对应的量化差值;
将所述第二预设舍去数据位设置为3位、并所述JPEG视频图像行数据中Cb分量对应的差分数据位进行数据压缩,生成Cb分量对应的量化差值;
根据所述第二预设舍去数据位、将所述JPEG视频图像行数据中Cr分量对应的差分数据位进行数据压缩,生成Cr分量对应的量化差值。
15.根据权利要求6所述的图像处理方法,其特征在于,根据各个分量对应的预设原始量化矩阵表生成各个分量对应的完全解压量化矩阵表,具体包括:
将Y分量对应的预设原始量化矩阵表中每个位置的值均除以4取整、作为Y分量对应的完全解压量化矩阵表中对应位置的值;
将Cb分量对应的预设原始量化矩阵表中每个位置的值均除以8取整、作为Cb分量对应的完全解压量化矩阵表中对应位置的值;
将Cr分量对应的预设原始量化矩阵表中每个位置的值均除以8取整、作为Cr分量对应的完全解压量化矩阵表中对应位置的值。
16.根据权利要求5所述的图像处理方法,其特征在于,将各个分量对应的待压缩数据的行缓存压缩数据进行反量化处理,具体包括:
将Y分量对应的量化差值乘以4、作为Y分量对应的反量化中间参数;
将Cb分量对应的量化差值乘以8、作为Cb分量对应的反量化中间参数;
将Cr分量对应的量化差值乘以8、作为Cr分量对应的反量化中间参数。
17.一种图像处理装置,其特征在于,用于实现如权利要求1-16任一项所述的图像处理方法,所述图像处理装置包括行缓存压缩存储单元,其包括:
行缓存压缩单元,用于:获取视频图像行数据中各个分量对应的裸数据与待压缩数据;根据各个分量对应的待压缩数据、生成各个分量对应的量化差值与符号位;
行缓存存储单元,用于:将各个分量对应的裸数据进行原始数据存储;根据各个分量对应的量化差值与符号位生成各个分量对应的组合记录数据,并将各个分量对应的组合记录数据作为各个分量对应的待压缩数据的行缓存压缩数据、进行压缩存储。
18.一种计算机设备,包括存储器、处理器及计算机程序,所述计算机程序存储在所述存储器上并可在所述处理器上运行,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-16中任一项所述的图像处理方法的步骤。
19.一种计算机可读存储介质,其存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-16中任一项所述的图像处理方法的步骤。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202311093408.3A CN116828200B (zh) | 2023-08-29 | 2023-08-29 | 一种图像处理方法、处理装置、设备及介质 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202311093408.3A CN116828200B (zh) | 2023-08-29 | 2023-08-29 | 一种图像处理方法、处理装置、设备及介质 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN116828200A CN116828200A (zh) | 2023-09-29 |
| CN116828200B true CN116828200B (zh) | 2024-01-23 |
Family
ID=88114824
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202311093408.3A Active CN116828200B (zh) | 2023-08-29 | 2023-08-29 | 一种图像处理方法、处理装置、设备及介质 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN116828200B (zh) |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1946181A (zh) * | 2005-03-30 | 2007-04-11 | 日本电气株式会社 | 图像处理、压缩、解压缩、传输、发送、接收装置和方法及其程序以及显示装置 |
| JP2008252726A (ja) * | 2007-03-30 | 2008-10-16 | Iix Inc | 画像処理装置、画像処理方法及び画像処理プログラム |
| CN115209145A (zh) * | 2022-09-15 | 2022-10-18 | 苏州浪潮智能科技有限公司 | 一种视频压缩方法、系统、装置及可读存储介质 |
-
2023
- 2023-08-29 CN CN202311093408.3A patent/CN116828200B/zh active Active
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1946181A (zh) * | 2005-03-30 | 2007-04-11 | 日本电气株式会社 | 图像处理、压缩、解压缩、传输、发送、接收装置和方法及其程序以及显示装置 |
| JP2008252726A (ja) * | 2007-03-30 | 2008-10-16 | Iix Inc | 画像処理装置、画像処理方法及び画像処理プログラム |
| CN115209145A (zh) * | 2022-09-15 | 2022-10-18 | 苏州浪潮智能科技有限公司 | 一种视频压缩方法、系统、装置及可读存储介质 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN116828200A (zh) | 2023-09-29 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11758184B2 (en) | Line-based compression for digital image data | |
| TWI775925B (zh) | 在視訊寫碼中跨分量動態範圍調整之系統及方法 | |
| CN107736024B (zh) | 用于视频处理的方法和设备 | |
| KR0183688B1 (ko) | 영상부호화방법 및 장치 | |
| CN1327395C (zh) | 基于上下文的自适应二进制算术编码的方法和系统 | |
| CN101904172B (zh) | Vlc方法和设备 | |
| Liu et al. | Bit-depth scalable coding for high dynamic range video | |
| KR102120571B1 (ko) | 넌-4:4:4 크로마 서브-샘플링의 디스플레이 스트림 압축 (dsc) 을 위한 엔트로피 코딩 기법들 | |
| WO2023040600A1 (zh) | 图像编码方法、图像解码方法、装置、电子设备及介质 | |
| JPH118849A (ja) | ピクチャの符号化方法および符号化装置 | |
| RU2008150330A (ru) | Сжатие видеоданных без видимых потерь | |
| KR20170016849A (ko) | 디스플레이 스트림 압축 (dsc) 을 위한 엔트로피 코딩 기법들 | |
| JP2018531556A6 (ja) | 非4:4:4クロマサブサンプリングのディスプレイストリーム圧縮(dsc)のためのエントロピーコーディング技法 | |
| JP2019528017A (ja) | インループサンプル処理のためのビデオコーディングツール | |
| TWI705693B (zh) | 用於顯示串流壓縮之基於向量之熵寫碼的裝置及方法 | |
| KR20180102565A (ko) | 디스플레이 스트림 압축 (dsc) 에서의 왜곡을 계산하기 위한 시스템 및 방법들 | |
| JPH06189290A (ja) | 1d/2d dctを用いた映像信号符号化装置 | |
| KR100683380B1 (ko) | 영상 압축 부호화를 위한 변환 및 역변환 방법 및 장치 | |
| WO2009031904A2 (en) | Method for alternating entropy coding | |
| CN116828200B (zh) | 一种图像处理方法、处理装置、设备及介质 | |
| KR20220146469A (ko) | 결합된 픽셀/변환 기반 양자화에 의한 비디오 코딩을 위한 양자화 파라미터 제어 방법 | |
| KR20040069445A (ko) | 낮은 메모리 대역폭을 갖는 동영상 압축 장치와 그 방법 | |
| KR20250038735A (ko) | 이미지 인코딩 및 디코딩 방법 및 장치 | |
| Al-Khafaji¹ et al. | Color image compression of inter-prediction base | |
| CN118355661A (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 | ||
| CP03 | Change of name, title or address |
Address after: 215000 Building 9, No.1 guanpu Road, Guoxiang street, Wuzhong Economic Development Zone, Suzhou City, Jiangsu Province Patentee after: Suzhou Yuannao Intelligent Technology Co.,Ltd. Country or region after: China Address before: 215000 Building 9, No.1 guanpu Road, Guoxiang street, Wuzhong Economic Development Zone, Suzhou City, Jiangsu Province Patentee before: SUZHOU LANGCHAO INTELLIGENT TECHNOLOGY Co.,Ltd. Country or region before: China |
|
| CP03 | Change of name, title or address |