CN110460854A - 图像压缩方法 - Google Patents

图像压缩方法 Download PDF

Info

Publication number
CN110460854A
CN110460854A CN201910634102.1A CN201910634102A CN110460854A CN 110460854 A CN110460854 A CN 110460854A CN 201910634102 A CN201910634102 A CN 201910634102A CN 110460854 A CN110460854 A CN 110460854A
Authority
CN
China
Prior art keywords
block
sub
compression unit
compressed
pixel
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910634102.1A
Other languages
English (en)
Other versions
CN110460854B (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.)
Zhuhai Jieli Technology Co Ltd
Original Assignee
Zhuhai Jieli Technology Co 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 Zhuhai Jieli Technology Co Ltd filed Critical Zhuhai Jieli Technology Co Ltd
Priority to CN201910634102.1A priority Critical patent/CN110460854B/zh
Publication of CN110460854A publication Critical patent/CN110460854A/zh
Application granted granted Critical
Publication of CN110460854B publication Critical patent/CN110460854B/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本申请涉及一种图像压缩方法,计算机设备将待压缩图像划分为多个压缩单元;每个压缩单元包括至少两个子块;然后,基于预设压缩数据格式,分别获取每个压缩单元的压缩数据;其中,压缩数据包括压缩单元的参考像素值、第一像素关联数据、第二像素关联数据、压缩单元的参考像素值所在的子块位置、各子块的参考像素值所在的像素位置;第一像素关联数据用于表征压缩单元与压缩单元内各个子块的像素关系,第二像素关联数据用于表征每个子块内的像素关系。采用上述方法可以提升对待压缩图像进行压缩的压缩比,提升带宽利用效率并降低读取压缩数据的时延;避免对待压缩图像进行压缩造成的信息失真。

Description

图像压缩方法
技术领域
本申请涉及视频编解码技术领域,特别是涉及一种图像压缩方法。
背景技术
随着高清视频的发展和普及,视频编解码技术面临着严峻的挑战。视频解 码是一个对数字视频进行解压缩的过程,其中,H.264视频编解码是一种非常流 行的标准算法,该技术具有较高的压缩比,得到了广泛应用。在H.264编码过 程中需要使用参考图像来进行运动估计和运动补偿,因此会对参考图像进行大 量的读写操作。
传统技术中,在对视频进行编码时,编码器对参考图像数据进行压缩,但 是压缩后的参考图像数据仍然比较大,导致编码过程中读写数据量较大,带宽 利用率低。
发明内容
基于此,有必要针对上述技术问题,提供一种图像压缩方法。
一种图像压缩方法,包括:
将待压缩图像划分为多个压缩单元;每个压缩单元包括至少两个子块;
基于预设压缩数据格式,分别获取每个压缩单元的压缩数据;
其中,压缩数据包括压缩单元的参考像素值、第一像素关联数据、第二像 素关联数据、压缩单元的参考像素值所在的子块位置、各子块的参考像素值所 在的像素位置;
第一像素关联数据用于表征压缩单元与压缩单元内各个子块的像素关系, 第二像素关联数据用于表征每个子块内的像素关系。
在其中一个实施例中,第一像素关联数据为各子块的参考像素值与压缩单 元的参考像素值的第一差值。
在其中一个实施例中,若压缩单元的子块个数为N,则第二像素关联数据 包括N个第一数据项;
每个第一数据项对应的内容为压缩单元单元内的一个子块内的其它像素值 与子块的参考像素值的第二差值。
在其中一个实施例中,压缩单元的参考像素值为压缩单元的最小像素值; 子块的参考像素值为子块内的最小像素值。
在其中一个实施例中,压缩数据还包括:第一关联数据项和第二关联数据 项;
第一关联数据项包括第一差值的比特数;
第二关联数据项包括N个第二数据项;第二数据项对应的内容为第二差值 的比特数。
在其中一个实施例中,压缩数据还包括子块划分模式。
在其中一个实施例中,子块划分模式为根据不同的子块划分模式分别对压 缩单元进行压缩后,所获得的压缩数据量最小的子块划分模式。
在其中一个实施例中,基于预设压缩数据格式,分别获取每个压缩单元的 压缩数据,包括:
基于多个压缩单元之间的像素关系、各个子块之间的像素关系以及预设压 缩数据格式,分别获取每个压缩单元的压缩数据。
在其中一个实施例中,第一关联数据项还包括第一位置关系;
若待压缩图像包括第一压缩单元和第二压缩单元,且第一压缩单元和第二 压缩单元的像素相同;
若第一压缩单元的第一压缩数据包括:第一关联数据项、第二关联数据项、 子块划分模式、压缩单元的最小像素值所在的子块位置、压缩单元的最小像素 值、第一差值、N个子块的最小像素值所在的像素位置以及N个子块的第二差 值,则第二压缩单元的第二压缩数据为第一位置关系,第一位置关系用于表征 第二压缩单元与第一压缩单元的位置关系。
在其中一个实施例中,第二关联数据项还包括第二位置关系;
若待压缩图像包括第一子块和第二子块,且第一子块和第二子块的像素相 同;
则第一子块所在压缩单元的第三压缩数据包括:第一关联数据项、第一子 块的第二位置关系、其它子块的第二数据项、子块划分模式、压缩单元的最小 像素值所在的子块位置、压缩单元的最小像素值、第一差值、其它子块的最小 像素值所在的像素位置以及其它子块的第二差值;其中,第二位置关系用于表 征第一子块与第二子块的位置关系。
在其中一个实施例中,压缩单元的参考像素值用第一预设比特位表示;
第一像素关联数据的比特位数值用第二预设比特位表示,第二预设比特位 的位数等于第一最大差值的比特位数,第一最大差值为压缩单元中,各子块的 最小像素值与压缩单元的最小像素值的最大差值;
第二像素关联数据中每个第一数据项的比特位数值用第三预设比特位表 示;第三预设比特位的位数等于第二最大差值的比特位数,第二最大差值为第 一数据项对应的子块中,子块的其它像素值与子块的最小像素值的最大差值;
各子块的参考像素值所在的像素位置用第四预设比特位表示。
在其中一个实施例中,第一预设比特位为8,第四预设比特位为2。
在其中一个实施例中,方法还包括:
将待压缩图像中各宏块对应的压缩数据进行打包,获得多个压缩包;
根据宏块在待压缩图像中的位置,确定多个压缩包的存储位置;多个压缩 包的存储空间大小为固定值。
在其中一个实施例中,将待压缩图像中各宏块中包含压缩单元对应的压缩 数据进行打包,获得多个压缩包,包括:
将宏块的Y像素块对应的压缩数据分为第一压缩包和第二压缩包;
从宏块的V像素块中,获取与宏块的U像素块中的第一像素块位置匹配的 第二像素块;
将第一像素块的压缩数据与第二像素块的压缩数据进行打包,获得第三压 缩包。
在其中一个实施例中,第一压缩包对应的Y像素块的大小为16*12,第二压 缩包对应的Y像素块的大小为16*4;第一像素块的大小为8*4。
在其中一个实施例中,根据宏块在待压缩图像中的位置,确定多个压缩包 的存储位置,包括:
根据宏块在待压缩图像中的位置,确定第一压缩包的起始位置,在第一压 缩包之后依次确定宏块的第二压缩包以及宏块第三压缩包的存储位置。
在其中一个实施例中,根据宏块在待压缩图像中的位置,确定多个压缩包 的存储位置之后,还包括:
统计各个压缩包的数据长度,并存储压缩包的数据长度。
一种图像压缩装置,装置包括:
划分模块,用于将待压缩图像划分为多个压缩单元;每个压缩单元包括至 少两个子块;
压缩模块,用于基于预设压缩数据格式,分别获取每个压缩单元的压缩数 据;其中,压缩数据包括压缩单元的参考像素值、第一像素关联数据、第二像 素关联数据、压缩单元的参考像素值所在的子块位置、各子块的参考像素值所 在的像素位置;第一像素关联数据用于表征压缩单元与压缩单元内各个子块的 像素关系,第二像素关联数据用于表征每个子块内的像素关系。
一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理 器执行计算机程序时实现上述图像压缩方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器 执行时实现上述图像压缩方法的步骤。
上述图像压缩方法,计算机设备将待压缩图像划分为多个压缩单元;每个 压缩单元包括至少两个子块;然后,基于预设压缩数据格式,分别获取每个压 缩单元的压缩数据;其中,压缩数据包括压缩单元的参考像素值、第一像素关 联数据、第二像素关联数据、压缩单元的参考像素值所在的子块位置、各子块 的参考像素值所在的像素位置;第一像素关联数据用于表征压缩单元与压缩单 元内各个子块的像素关系,第二像素关联数据用于表征每个子块内的像素关系。 由于计算机设备对待压缩图像进行压缩后,所获得的压缩数据中包括压缩单元 的参考像素值以及第一像素关联数据和第二关联数据,也就是说压缩数据中不 是对所有的像素值进行存储,而是存储了参考像素值以及表征像素关系的第一 像素关联数据和第二关联数据;由于第一像素关联数据和第二关联数据相比压 缩单元的像素值的数据较小,因此计算机设备可以获得比较小的压缩数据,提 升对待压缩图像进行压缩的压缩比,从而提升带宽利用效率并降低读取压缩数 据的时延;进一步地,计算机设备对待压缩图像中每一个像素的信息均通过第 一像素关联关系和第二像素关联关系进行存储,是一种无损的压缩方法,可以 避免对待压缩图像进行压缩造成的信息失真。
附图说明
图1为一个实施例中图像压缩方法的应用环境图;
图2为一个实施例中图像压缩方法的流程示意图;
图2A为一个实施例中子块划分示意图;
图3为另一个实施例中图像压缩方法的流程示意图;
图3A为一个实施例中数据包打包示意图;
图3B为一个实施例中数据包位置示意图;
图4为一个实施例中图像压缩装置的结构框图;
图5为一个实施例中图像压缩装置的结构框图;
图6为一个实施例中图像压缩装置的结构框图;
图7为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实 施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅 用以解释本申请,并不用于限定本申请。
本申请提供的图像压缩方法,可以应用于如图1所示的应用环境中。其中, 计算机设备100将待压缩图像进行压缩获得压缩数据,其中,计算机设备100 可以但不限于是各种个人计算机、笔记本电脑、智能手机和平板电脑。
在一个实施例中,如图2所示,提供了一种图像压缩方法,以该方法应用 于图1中的计算机设备为例进行说明,包括:
S101、将待压缩图像划分为多个压缩单元;每个压缩单元包括至少两个子 块。
上述待压缩图像可以是视频帧中的其中一帧,也可以是其它图像,对于上 述待压缩图像的类型在此不做限定。
具体地,计算机设备可以根据预设的压缩单元大小,对待压缩图像进行划 分,获得多个压缩单元;例如,压缩单元的大小可以是4×4个像素,包含16个 像素值。
进一步地,计算机设备还可以对压缩单元进行进一步地划分,获得多个子 块。例如,如图2A所示,对于上述4×4的压缩单元,可以分成4个子块,上述 4个子块的大小可以是1×4,也可以是4×1,还可以是2×2,在此不做限定。
S102、基于预设压缩数据格式,分别获取每个压缩单元的压缩数据;其中, 压缩数据包括压缩单元的参考像素值、第一像素关联数据、第二像素关联数据、 压缩单元的参考像素值所在的子块位置、各子块的参考像素值所在的像素位置; 第一像素关联数据用于表征压缩单元与压缩单元内各个子块的像素关系,第二 像素关联数据用于表征每个子块内的像素关系。
上述预设的压缩数据格式中包含多个数据项,具体地,计算机设备在对压 缩单元进行压缩时,可以获取压缩数据格式中每一个数据项的值,组成待压缩 图像的压缩数据;也可以获取压缩数据格式中部分数据项的值组成待压缩图像 的压缩数据,能够完成记录待压缩图像中每一个像素的信息即可。
其中,上述压缩单元的参考像素值可以是压缩单元中的第一个像素值,例 如4×4的压缩单元第一行第一列的像素值,也可以是压缩单元中的最大像素值, 在此不做限定。可选地,压缩单元的参考像素值为压缩单元的最小像素值。
上述各子块的参考像素值可以是子块中的第一个像素值,例如2×2的子块中 第一行第一列的像素值,也可以是子块中的最大像素值,在此不做限定。可选 地,子块的参考像素值为子块内的最小像素值。
上述第一像素关联数据用于表征压缩单元与压缩单元内各个子块的像素关 系,上述像素关系可以是像素值的比值,也可以是像素值的差值;可选地,第 一像素关联数据为各子块的参考像素值与压缩单元的参考像素值的第一差值。
上述第二像素关联数据用于表征每个子块内的像素关系,类似地,上述像 素关系可以是像素值的比值,也可以是像素值的差值;可选地,若压缩单元的 子块个数为N,则第二像素关联数据包括N个第一数据项;每个第一数据项对 应的内容为压缩单元单元内的一个子块内的其它像素值与子块的参考像素值的 第二差值。例如,4×4的压缩单元中包含4个2×2的子块,上述第二像素关联数 据中包含4个第一数据项,每一个第一数据项都为2×2的子块的其它三个像素值 与子块的最小像素值的第二差值,也就是说上述第二像素关联数据包含4个第 一数据项,每一个第一数据项中包含依次排列的三个第二差值。
上述压缩数据中还包括压缩单元的参考像素值所在的子块位置以及各子块 的参考像素值所在的像素位置,例如4×4的压缩单元,压缩单元中的最小像素值 位于该压缩单元的第四个子块时,可以用2个比特位的数据表示,可以用11表 示该最小像素值所在的子块位置,同样地,子块的最小像素值为子块的第四个 像素值时,可以用11表示子块的最小像素值在子块中的像素位置。
另外,上述压缩数据还包括:第一关联数据项和第二关联数据项;其中, 第一关联数据项包括第一差值的比特数;第二关联数据项包括N个第二数据项; 第二数据项对应的内容为第二差值的比特数。例如,4×4的压缩单元中,第一差 值包括其他子块的最小像素值与压缩单元的最小像素值的三个第一差值,上述 第一差值的比特数可以是上述三个第一差值中,最大的第一差值占的比特位的 数值;上述第二关联数据项包括4个第二数据项,上述第二数据项为对应第一 数据项中三个第二差值中最大值所占的比特位的位数。
以上述4×4的压缩单元为例,压缩单元的压缩数据格式如下表:
上述图像压缩方法,计算机设备将待压缩图像划分为多个压缩单元;每个 压缩单元包括至少两个子块;然后,基于预设压缩数据格式,分别获取每个压 缩单元的压缩数据;其中,压缩数据包括压缩单元的参考像素值、第一像素关 联数据、第二像素关联数据、压缩单元的参考像素值所在的子块位置、各子块 的参考像素值所在的像素位置;第一像素关联数据用于表征压缩单元与压缩单 元内各个子块的像素关系,第二像素关联数据用于表征每个子块内的像素关系。 由于计算机设备对待压缩图像进行压缩后,所获得的压缩数据中包括压缩单元 的参考像素值以及第一像素关联数据和第二关联数据,也就是说压缩数据中不 是对所有的像素值进行存储,而是存储了参考像素值以及表征像素关系的第一 像素关联数据和第二关联数据;由于第一像素关联数据和第二关联数据相比压 缩单元的像素值的数据较小,因此计算机设备可以获得比较小的压缩数据,提 升对待压缩图像进行压缩的压缩比,从而提升带宽利用效率并降低读取压缩数 据的时延;进一步地,计算机设备对待压缩图像中每一个像素的信息均通过第 一像素关联关系和第二像素关联关系进行存储,是一种无损的压缩方法,可以 避免对待压缩图像进行压缩造成的信息失真。
在一个实施例中,在上述实施例的基础上,计算机设备对待压缩图像进行 压缩后,压缩数据还包含子块划分模式。
计算机设备在对压缩单元划分成多个子块时,可以针对同一个待压缩图像 中的多个压缩单元采用不同的子块划分模式进行划分,例如,对待压缩图像中 的多个4×4的压缩单元的进行子块划分时,可以将其中部分压缩单元划分为四个 1×4的子块,然后将其它压缩单元划分为四个2×2的子块,因此,在压缩单元的 压缩数据中可以包括子块划分模式,可以按照预设匹配规则,当子块为1×4时, 对应的子块划分模式用2个比特位10表示,当子块为2×2时,对应的对应的子 块划分模式用2个比特位01表示。
进一步地,计算机设备可以对同一个压缩单元采用多种不同的子块划分模 式进行子块划分,然后获得不同子块划分模式下对应的多个压缩数据,通过比 较上述多个压缩数据的数据量大小,将数据量最小的压缩数据对应的子块划分 模式确定为目标子块划分模式,并将该目标子块划分模式对应的标识记录在压 缩数据中,通过上述方法可以使压缩单元的压缩数据量更小,进一步提升压缩 比。也就是说,压缩数据中的子块划分模式为根据不同的子块划分模式分别对 压缩单元进行压缩后,所获得的压缩数据量最小的子块划分模式。
上述图像压缩方法,在压缩数据中包含子块划分模式,并可以根据不同的 子块划分模式分别对压缩单元进行压缩后,所获得的压缩数据来确定最终的子 块划分模式,通过上述方法可以使压缩单元的压缩数据量更小,进一步提升图 像压缩比。
在一个实施例中,本实施例涉及计算机设备获取压缩数据的一种具体方式, 在上述实施例的基础上,计算机设备可以基于多个压缩单元之间的像素关系、 各个子块之间的像素关系以及预设压缩数据格式,分别获取每个压缩单元的压 缩数据。
具体地,计算机设备可以考虑待压缩图像中,各个压缩单元在空间上的相 关性,进一步地降低压缩数据在空间上的冗余,从而使获得的压缩数据的数据 量更小。上述多个压缩单元之间的像素关系可以是相邻的两个压缩单元的像素 值相同,也可以是间隔预设数量的两个压缩单元的像素值相同,还可以是多个 压缩单元的像素值均相同,对于上述像素关系的类型在此不做限定。
同样地,上述子块之间的像素关系可以是相邻的两个子块的像素值相同, 也可以是间隔预设数量的两个子块的像素值相同,还可以是多个子块的像素值 均相同;另外,可以是同一个压缩单元中的子块的像素关系,也可以是不同的 压缩单元中的子块的像素关系,在此不做限定。
计算机设备在基于多个压缩单元之间的像素关系对待压缩图像进行压缩 时,若待压缩图像包括第一压缩单元和第二压缩单元,且第一压缩单元和第二 压缩单元的像素相同;若第一压缩单元的第一压缩数据包括:第一关联数据项、 第二关联数据项、子块划分模式、压缩单元的最小像素值所在的子块位置、压 缩单元的最小像素值、第一差值、N个子块的最小像素值所在的像素位置以及N 个子块的第二差值,则第二压缩单元的第二压缩数据为第一位置关系,第一位 置关系用于表征第二压缩单元与第一压缩单元的位置关系。
也就是说,当第一压缩单元和第二压缩单元相同时,计算机设备在对第二 压缩单元进行压缩时,不需要记录第二压缩单元的最小像素值以及第一关联数 据项等,只需要通过第一位置关系表征第二压缩单元与第一压缩单元的位置关 系即可。例如,两个4×4的压缩单元中,第一压缩单元的第一压缩数据如下表, 其中K0表示第一差值的比特数。
在第一压缩单元和第二压缩单元的像素相同时,第二压缩单元的第二压缩 数据可以只用第一关联数据项K0表示,此时,第一关联数据项KO表示第二压 缩单元和第一压缩单元的第一位置关系,K0可以为4个比特位的数据,可以表 示如下:
当K0=1~8时,表示第一差值的比特数为K0;
当K0=9时,表示该4x4的第二压缩单元和其左上的第一压缩单元完全相 同;
当K0=10时,表示该4x4的第二压缩单元和其顶部的第一压缩单元完全相 同;
当K0=11时,表示该4x4的第二压缩单元和其右上的第一压缩单元完全相 同;
当K0=12时,表示该4x4的第二压缩单元和其左边的第一压缩单元完全相 同;
另外,当K0=0,可以表示4x4的压缩单元中的最小像素值值和其4个子块 的最小像素值均相同;当K0=13,可以表示4x4的压缩单元中16个数具有相 同的像素值;当K0=14时,可以表示当前4x4的压缩单元不压缩,该压缩单元 的压缩数据为K0后依次排列该压缩单元的各个像素值。
进一步地,计算机设备还可以基于多个子块之间的像素关系对待压缩图像 进行压缩。若待压缩图像包括第一子块和第二子块,且第一子块和第二子块的 像素相同;则第一子块所在压缩单元的第三压缩数据包括:第一关联数据项、 第一子块的第二位置关系、其它子块的第二数据项、子块划分模式、压缩单元 的最小像素值所在的子块位置、压缩单元的最小像素值、第一差值、其它子块 的最小像素值所在的像素位置以及其它子块的第二差值;其中,第二位置关系 用于表征第一子块与第二子块的位置关系。
也就是说,当压缩单元中第一子块与第二子块相同时,那么则该压缩单元 的第三压缩数据中不需要记录第一子块对应的第二差值,以及第一子块对应的 第一子块的最小像素值所在的像素位置,以及该子块对应的第一差值,而只需 要记录表征第一子块和第二子块的位置关系即可继续以4×4的压缩单元为例,该 压缩单元的第一个子块与第二个子块相同,且第一个子块位于第二个子块的顶 部,那么该压缩单元的第三压缩数据可以表示为下表。其中第二关联数据项K2 表示第二个子块的第二差值的比特数。
在该压缩单元的第一个子块与第二个子块相同时,第三压缩数据可以表示 为,其中第二关联数据项K2表示第一子块与第二子块的位置关系。
其中,K2可以为一个4个比特位的数据,可以表示如下:
当K2=1~8时,表示该子块第二差值的比特数为K2;
当K2=9时,表示该子块和其左上的子块完全相同;
当K2=10时,表示该子块和其顶部的子块完全相同;
当K2=11时,表示该子块和其右上的子块完全相同;
当K2=12时,表示该子块和其左边的子块完全相同;
另外,当K2=0时,还可以表示该子块的4个像素具有相同的值。
具体地,计算机设备获得的压缩单元的各个数据项的比特位数值可以通过 如下方式确定:压缩单元的参考像素值用第一预设比特位表示,例如可以用8 个比特位表示;第一像素关联数据的比特位数值用第二预设比特位表示,第二 预设比特位的位数等于第一最大差值的比特位数,第一最大差值为压缩单元中, 各子块的最小像素值与压缩单元的最小像素值的最大差值;第二像素关联数据 中每个第一数据项的比特位数值用第三预设比特位表示;第三预设比特位的位 数等于第二最大差值的比特位数,第二最大差值为第一数据项对应的子块中, 子块的其它像素值与子块的最小像素值的最大差值;各子块的参考像素值所在 的像素位置用第四预设比特位表示,例如,可以是2个比特位。
计算机设备根据上述方法确定各个数据项的比特位数之后,就可以基于压 缩数据格式来计算出压缩数据的比特位数。
继续以4×4的压缩单元为例,当压缩单元中4个子块均与其它子块不同,且 该压缩单元与其它压缩单元不同时,压缩数据格式为:
其中,K0、K1、K2、K3和K4均固定为4个比特位的数据,子块划分模式 MODE为2个比特位数据,压缩单元的最小像素值固定为8个比特位数据,压 缩单元的最小像素位置用2个比特位表示,第一差值的比特数均为K0,四个子 块的第二差值的比特数分别为K1、K2、K3和K4,四个子块中最小像素的位置 均用2个比特位表示,因此压缩数据中:
K0-DATA的比特位为:M0=8+2+3K0;
Ki-DATA的比特位为:Mi=2+3Ki,其中i=1,2,3,4;
那么,该压缩单元的压缩数据的比特位为:22+M0+M1+M2+M3+M4。
当该压缩单元与其它相邻的压缩单元相同时,该压缩单元的压缩数据的比 特位为4。
当该压缩单元与其它压缩单元不同,但是该压缩单元的4个子块均具有相 同的压缩单元时,该压缩单元的压缩数据的比特位为:20。
当该压缩单元中,m个子块与相邻子块相同时,该压缩单元的压缩数据的 比特位为:22+(10+(3-m)K0)+M1(1-n1)+M2(1-n2)+M3(1-n3)+M4(1-n4),其中ni 为1表示第i个子块具有相同的相邻子块,ni为0表示第i个子块不具有相同的 相邻子块。
上述图像压缩方法,计算机设备基于各个压缩单元在空间上的相关性,进 一步地降低压缩数据在空间上的冗余,从而使获得的压缩数据的数据量更小, 进一步提升图像压缩的压缩比。
图3为一个实施例中图像压缩方法的流程示意图,本实施例涉及计算机设 备在获得压缩数据后,对压缩数据进行存储的过程,在上述实施例的基础上, 如果3所示,上述方法还包括:
S201、将待压缩图像中各宏块对应的压缩数据进行打包,获得多个压缩包。
具体地,计算机设备在获得各个压缩单元的压缩数据后,可以根据待压缩 图像中宏块的划分,对每一个宏块中包含的压缩单元对应的压缩数据进行打包, 获得多个压缩包。
计算机设备可以按照压缩单元在宏块中的位置进行打包,可选地,还可以 将宏块的Y像素块对应的压缩数据分为第一压缩包和第二压缩包;然后从宏块 的V像素块中,获取与宏块的U像素块中的第一像素块位置匹配的第二像素块; 将第一像素块的压缩数据与第二像素块的压缩数据进行打包,获得第三压缩包; 将每个宏块的U和V按上述方式打包存储,方便了在运动补偿阶段对U和V的 访问且不会导致过多的数据读取。
计算机设备可以将Y像素块对应的压缩数据平均分为两个压缩包,获得第 一压缩包和第二压缩包,另外,还可以按照设定的第一压缩包和第二压缩包对 应的像素块的大小,来进行打包;例如,第一压缩包对应的Y像素块的大小为 16×12,第二压缩包对应的Y像素块的大小为16×4。进一步地,计算机设备还可 以按照预设的第一像素块的大小对U像素和V像素块对应的压缩数据进行打 包,例如第一像素块的大小为8×4。
例如,如图3A所示,宏块的Y像素块的大小为16×16,U像素块和V像素 块的大小分别为8×8,计算机设备可以将Y像素块的上部分16×16作为一包数据 进行压缩,记为Y_A包,下部分16×4作为另一包数据进行压缩,记为Y_B包; 然后,将8x8的U像素块的上部分8×4和8×8的V像素块的上部分8×4作为一包 数据进行压缩,记为UV_A包,8×8的U像素块的下部分8×4和8×8的V像素块 的下部分8×8作为一包数据进行压缩,记为UV_B包。
S202、根据宏块在待压缩图像中的位置,确定多个压缩包的存储位置;多 个压缩包的存储空间大小为固定值。
在获得了宏块的各个数据包之后,可以根据宏块在待压缩图像中的位置, 确定多个压缩包的存储位置,可以设定Y_A压缩包的存储空间为12×16byte,其 余压缩包的存储空间均为4×16byte。
计算机设备可以将每个宏块的各个数据包挨近存储,可以根据宏块在待压 缩图像中的位置,确定第一压缩包的起始位置,在第一压缩包之后依次确定宏 块的第二压缩包以及宏块第三压缩包的存储位置,通过将一个宏块的Y压缩包 和UV压缩包挨近存储,使得计算机设备在调用同一个宏块的压缩数据时不需 要频繁地切换地址行,从而避免造成带宽资源的浪费。例如,待压缩图像的压 缩数据可以存储如图3B所示。
进一步地,计算机设备还可以统计各个压缩包的数据长度,并存储压缩包 的数据长度,使得计算机设备可以直接获取到该压缩包的数据长度。
上述图像压缩方法计算机设备将待压缩图像中各宏块对应的压缩数据进行 打包,获得多个压缩包;然后根据宏块在待压缩图像中的位置,确定多个压缩 包的存储位置,使得计算机设备随时可以根据压缩包的位置对宏块的压缩数据 进行读取,存储方式更加合理;另外,通过将一个宏块的Y压缩包和UV压缩 包挨近存储,使得计算机设备在调用同一个宏块的压缩数据时不需要频繁地切 换地址行,从而避免造成带宽资源的浪费。
应该理解的是,虽然图2-3的流程图中的各个步骤按照箭头的指示依次显 示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明 确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺 序执行。而且,图2-3中的至少一部分步骤可以包括多个子步骤或者多个阶段, 这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻 执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它 步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图4所示,提供了一种图像压缩装置,包括:划分模 块10和压缩模块20,其中:
划分模块10,用于将待压缩图像划分为多个压缩单元;每个压缩单元包括 至少两个子块;
压缩模块20,用于基于预设压缩数据格式,分别获取每个压缩单元的压缩 数据;其中,压缩数据包括压缩单元的参考像素值、第一像素关联数据、第二 像素关联数据、压缩单元的参考像素值所在的子块位置、各子块的参考像素值 所在的像素位置;第一像素关联数据用于表征压缩单元与压缩单元内各个子块 的像素关系,第二像素关联数据用于表征每个子块内的像素关系。
本申请实施例提供的图像压缩装置,可以实现上述方法实施例,其实现原 理和技术效果类似,在此不再赘述。
在一个实施例中,在上述实施例的基础上,第一像素关联数据为各子块的 参考像素值与压缩单元的参考像素值的第一差值。
在一个实施例中,在上述实施例的基础上,若压缩单元的子块个数为N, 则第二像素关联数据包括N个第一数据项;每个第一数据项对应的内容为压缩 单元单元内的一个子块内的其它像素值与子块的参考像素值的第二差值。
在一个实施例中,在上述实施例的基础上,压缩单元的参考像素值为压缩 单元的最小像素值;子块的参考像素值为子块内的最小像素值。
在一个实施例中,在上述实施例的基础上,压缩数据还包括:第一关联数 据项和第二关联数据项;第一关联数据项包括第一差值的比特数;第二关联数 据项包括N个第二数据项;第二数据项对应的内容为第二差值的比特数。
在一个实施例中,在上述实施例的基础上,压缩数据还包括子块划分模式。
在一个实施例中,在上述实施例的基础上,子块划分模式为根据不同的子 块划分模式分别对压缩单元进行压缩后,所获得的压缩数据量最小的子块划分 模式。
在一个实施例中,在上述实施例的基础上,上述压缩模块20具体用于:基 于多个压缩单元之间的像素关系、各个子块之间的像素关系以及预设压缩数据 格式,分别获取每个压缩单元的压缩数据。
在一个实施例中,在上述实施例的基础上,第一关联数据项还包括第一位 置关系;若待压缩图像包括第一压缩单元和第二压缩单元,且第一压缩单元和 第二压缩单元的像素相同;若第一压缩单元的第一压缩数据包括:第一关联数 据项、第二关联数据项、子块划分模式、压缩单元的最小像素值所在的子块位 置、压缩单元的最小像素值、第一差值、N个子块的最小像素值所在的像素位 置以及N个子块的第二差值,则第二压缩单元的第二压缩数据为第一位置关系, 第一位置关系用于表征第二压缩单元与第一压缩单元的位置关系。
在一个实施例中,在上述实施例的基础上,第二关联数据项还包括第二位 置关系;若待压缩图像包括第一子块和第二子块,且第一子块和第二子块的像 素相同;则第一子块所在压缩单元的第三压缩数据包括:第一关联数据项、第 一子块的第二位置关系、其它子块的第二数据项、子块划分模式、压缩单元的 最小像素值所在的子块位置、压缩单元的最小像素值、第一差值、其它子块的 最小像素值所在的像素位置以及其它子块的第二差值;其中,第二位置关系用 于表征第一子块与第二子块的位置关系。
在一个实施例中,在上述实施例的基础上,压缩单元的参考像素值用第一 预设比特位表示;第一像素关联数据的比特位数值用第二预设比特位表示,第 二预设比特位的位数等于第一最大差值的比特位数,第一最大差值为压缩单元 中,各子块的最小像素值与压缩单元的最小像素值的最大差值;第二像素关联 数据中每个第一数据项的比特位数值用第三预设比特位表示;第三预设比特位 的位数等于第二最大差值的比特位数,第二最大差值为第一数据项对应的子块 中,子块的其它像素值与子块的最小像素值的最大差值;各子块的参考像素值 所在的像素位置用第四预设比特位表示。
在一个实施例中,在上述实施例的基础上,第一预设比特位为8,第四预设 比特位为2。
在一个实施例中,在上述实施例的基础上,如图5所示,上述装置还包括:
打包模块30,用于将待压缩图像中各宏块对应的压缩数据进行打包,获得 多个压缩包;
存储模块40,用于根据宏块在待压缩图像中的位置,确定多个压缩包的存 储位置;多个压缩包的存储空间大小为固定值。
在一个实施例中,在上述实施例的基础上,如图6所示,上述打包模块30 包括:
第一打包单元301,用于将宏块的Y像素块对应的压缩数据分为第一压缩 包和第二压缩包;
获取单元302,用于从宏块的V像素块中,获取与宏块的U像素块中的第 一像素块位置匹配的第二像素块;
第二打包单元302,用于将第一像素块的压缩数据与第二像素块的压缩数据 进行打包,获得第三压缩包。
在一个实施例中,在上述实施例的基础上,第一压缩包对应的Y像素块的 大小为16*12,第二压缩包对应的Y像素块的大小为16*4;第一像素块的大小为 8*4。
在一个实施例中,在上述实施例的基础上,上述存储模块40具体用于:根 据宏块在待压缩图像中的位置,确定第一压缩包的起始位置;在第一压缩包之 后依次确定宏块的第二压缩包以及宏块第三压缩包的存储位置。
在一个实施例中,在上述实施例的基础上,上述存储模块40还用于:统计 各个压缩包的数据长度,并存储压缩包的数据长度。
本申请实施例提供的图像压缩装置,可以实现上述方法实施例,其实现原 理和技术效果类似,在此不再赘述。
关于图像压缩装置的具体限定可以参见上文中对于图像压缩方法的限定, 在此不再赘述。上述图像压缩装置中的各个模块可全部或部分通过软件、硬件 及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处 理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调 用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其 内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、 存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提 供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。 该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存 储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口 用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一 种图像压缩方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示 屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机 设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠 标等。
本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关 的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定, 具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件, 或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器 中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
将待压缩图像划分为多个压缩单元;每个压缩单元包括至少两个子块;
基于预设压缩数据格式,分别获取每个压缩单元的压缩数据;
其中,压缩数据包括压缩单元的参考像素值、第一像素关联数据、第二像 素关联数据、压缩单元的参考像素值所在的子块位置、各子块的参考像素值所 在的像素位置;
第一像素关联数据用于表征压缩单元与压缩单元内各个子块的像素关系, 第二像素关联数据用于表征每个子块内的像素关系。
在其中一个实施例中,第一像素关联数据为各子块的参考像素值与压缩单 元的参考像素值的第一差值。
在其中一个实施例中,若压缩单元的子块个数为N,则第二像素关联数据 包括N个第一数据项;每个第一数据项对应的内容为压缩单元单元内的一个子 块内的其它像素值与子块的参考像素值的第二差值。
在其中一个实施例中,压缩单元的参考像素值为压缩单元的最小像素值; 子块的参考像素值为子块内的最小像素值。
在其中一个实施例中,压缩数据还包括:第一关联数据项和第二关联数据 项;第一关联数据项包括第一差值的比特数;第二关联数据项包括N个第二数 据项;第二数据项对应的内容为第二差值的比特数。
在其中一个实施例中,压缩数据还包括子块划分模式。
在其中一个实施例中,子块划分模式为根据不同的子块划分模式分别对压 缩单元进行压缩后,所获得的压缩数据量最小的子块划分模式。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:基于多个压 缩单元之间的像素关系、各个子块之间的像素关系以及预设压缩数据格式,分 别获取每个压缩单元的压缩数据。
在其中一个实施例中,第一关联数据项还包括第一位置关系;若待压缩图 像包括第一压缩单元和第二压缩单元,且第一压缩单元和第二压缩单元的像素 相同;若第一压缩单元的第一压缩数据包括:第一关联数据项、第二关联数据 项、子块划分模式、压缩单元的最小像素值所在的子块位置、压缩单元的最小 像素值、第一差值、N个子块的最小像素值所在的像素位置以及N个子块的第 二差值,则第二压缩单元的第二压缩数据为第一位置关系,第一位置关系用于 表征第二压缩单元与第一压缩单元的位置关系。
在其中一个实施例中,第二关联数据项还包括第二位置关系;若待压缩图 像包括第一子块和第二子块,且第一子块和第二子块的像素相同;则第一子块 所在压缩单元的第三压缩数据包括:第一关联数据项、第一子块的第二位置关 系、其它子块的第二数据项、子块划分模式、压缩单元的最小像素值所在的子 块位置、压缩单元的最小像素值、第一差值、其它子块的最小像素值所在的像 素位置以及其它子块的第二差值;其中,第二位置关系用于表征第一子块与第 二子块的位置关系。
在其中一个实施例中,压缩单元的参考像素值用第一预设比特位表示;第 一像素关联数据的比特位数值用第二预设比特位表示,第二预设比特位的位数 等于第一最大差值的比特位数,第一最大差值为压缩单元中,各子块的最小像 素值与压缩单元的最小像素值的最大差值;第二像素关联数据中每个第一数据 项的比特位数值用第三预设比特位表示;第三预设比特位的位数等于第二最大 差值的比特位数,第二最大差值为第一数据项对应的子块中,子块的其它像素 值与子块的最小像素值的最大差值;各子块的参考像素值所在的像素位置用第 四预设比特位表示。
在其中一个实施例中,第一预设比特位为8,第四预设比特位为2。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:将待压缩图 像中各宏块对应的压缩数据进行打包,获得多个压缩包;根据宏块在待压缩图 像中的位置,确定多个压缩包的存储位置;多个压缩包的存储空间大小为固定 值。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:将宏块的Y 像素块对应的压缩数据分为第一压缩包和第二压缩包;从宏块的V像素块中, 获取与宏块的U像素块中的第一像素块位置匹配的第二像素块;将第一像素块 的压缩数据与第二像素块的压缩数据进行打包,获得第三压缩包。
在其中一个实施例中,第一压缩包对应的Y像素块的大小为16*12,第二压 缩包对应的Y像素块的大小为16*4;第一像素块的大小为8*4。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据宏块在 待压缩图像中的位置,确定第一压缩包的起始位置,在第一压缩包之后依次确 定宏块的第二压缩包以及宏块第三压缩包的存储位置。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:统计各个压 缩包的数据长度,并存储压缩包的数据长度。
本实施例提供的计算机设备,其实现原理和技术效果与上述方法实施例类 似,在此不再赘述。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程 序,计算机程序被处理器执行时实现以下步骤:
将待压缩图像划分为多个压缩单元;每个压缩单元包括至少两个子块;
基于预设压缩数据格式,分别获取每个压缩单元的压缩数据;
其中,压缩数据包括压缩单元的参考像素值、第一像素关联数据、第二像 素关联数据、压缩单元的参考像素值所在的子块位置、各子块的参考像素值所 在的像素位置;
第一像素关联数据用于表征压缩单元与压缩单元内各个子块的像素关系, 第二像素关联数据用于表征每个子块内的像素关系。
在其中一个实施例中,第一像素关联数据为各子块的参考像素值与压缩单 元的参考像素值的第一差值。
在其中一个实施例中,若压缩单元的子块个数为N,则第二像素关联数据 包括N个第一数据项;每个第一数据项对应的内容为压缩单元单元内的一个子 块内的其它像素值与子块的参考像素值的第二差值。
在其中一个实施例中,压缩单元的参考像素值为压缩单元的最小像素值; 子块的参考像素值为子块内的最小像素值。
在其中一个实施例中,压缩数据还包括:第一关联数据项和第二关联数据 项;第一关联数据项包括第一差值的比特数;第二关联数据项包括N个第二数 据项;第二数据项对应的内容为第二差值的比特数。
在其中一个实施例中,压缩数据还包括子块划分模式。
在其中一个实施例中,子块划分模式为根据不同的子块划分模式分别对压 缩单元进行压缩后,所获得的压缩数据量最小的子块划分模式。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:基于多个 压缩单元之间的像素关系、各个子块之间的像素关系以及预设压缩数据格式, 分别获取每个压缩单元的压缩数据。
在其中一个实施例中,第一关联数据项还包括第一位置关系;若待压缩图 像包括第一压缩单元和第二压缩单元,且第一压缩单元和第二压缩单元的像素 相同;若第一压缩单元的第一压缩数据包括:第一关联数据项、第二关联数据 项、子块划分模式、压缩单元的最小像素值所在的子块位置、压缩单元的最小 像素值、第一差值、N个子块的最小像素值所在的像素位置以及N个子块的第 二差值,则第二压缩单元的第二压缩数据为第一位置关系,第一位置关系用于 表征第二压缩单元与第一压缩单元的位置关系。
在其中一个实施例中,第二关联数据项还包括第二位置关系;若待压缩图 像包括第一子块和第二子块,且第一子块和第二子块的像素相同;则第一子块 所在压缩单元的第三压缩数据包括:第一关联数据项、第一子块的第二位置关 系、其它子块的第二数据项、子块划分模式、压缩单元的最小像素值所在的子 块位置、压缩单元的最小像素值、第一差值、其它子块的最小像素值所在的像 素位置以及其它子块的第二差值;其中,第二位置关系用于表征第一子块与第 二子块的位置关系。
在其中一个实施例中,压缩单元的参考像素值用第一预设比特位表示;第 一像素关联数据的比特位数值用第二预设比特位表示,第二预设比特位的位数 等于第一最大差值的比特位数,第一最大差值为压缩单元中,各子块的最小像 素值与压缩单元的最小像素值的最大差值;第二像素关联数据中每个第一数据 项的比特位数值用第三预设比特位表示;第三预设比特位的位数等于第二最大 差值的比特位数,第二最大差值为第一数据项对应的子块中,子块的其它像素 值与子块的最小像素值的最大差值;各子块的参考像素值所在的像素位置用第 四预设比特位表示。
在其中一个实施例中,第一预设比特位为8,第四预设比特位为2。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:将待压缩 图像中各宏块对应的压缩数据进行打包,获得多个压缩包;根据宏块在待压缩 图像中的位置,确定多个压缩包的存储位置;多个压缩包的存储空间大小为固 定值。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:将宏块的Y 像素块对应的压缩数据分为第一压缩包和第二压缩包;从宏块的V像素块中, 获取与宏块的U像素块中的第一像素块位置匹配的第二像素块;将第一像素块 的压缩数据与第二像素块的压缩数据进行打包,获得第三压缩包。
在其中一个实施例中,第一压缩包对应的Y像素块的大小为16*12,第二压 缩包对应的Y像素块的大小为16*4;第一像素块的大小为8*4。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:根据宏块 在待压缩图像中的位置,确定第一压缩包的起始位置,在第一压缩包之后依次 确定宏块的第二压缩包以及宏块第三压缩包的存储位置。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:统计各个 压缩包的数据长度,并存储压缩包的数据长度。
本实施例提供的计算机可读存储介质,其实现原理和技术效果与上述方法 实施例类似,在此不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程, 是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于 一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述 各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、 存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。 非易失性存储器可包括只读存储器(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 (12)

1.一种图像压缩方法,其特征在于,所述方法包括:
将待压缩图像划分为多个压缩单元;每个压缩单元包括至少两个子块;
基于预设压缩数据格式,分别获取每个压缩单元的压缩数据;
其中,所述压缩数据包括所述压缩单元的参考像素值、第一像素关联数据、第二像素关联数据、所述压缩单元的参考像素值所在的子块位置、各子块的参考像素值所在的像素位置;
所述第一像素关联数据用于表征所述压缩单元与所述压缩单元内各个子块的像素关系,所述第二像素关联数据用于表征所述每个子块内的像素关系。
2.根据权利要求1所述的方法,其特征在于,所述第一像素关联数据为各子块的参考像素值与所述压缩单元的参考像素值的第一差值。
3.根据权利要求2所述的方法,其特征在于,若所述压缩单元的子块个数为N,则所述第二像素关联数据包括N个第一数据项;
每个第一数据项对应的内容为所述压缩单元单元内的一个子块内的其它像素值与所述子块的参考像素值的第二差值。
4.根据权利要求3所述的方法,其特征在于,所述压缩单元的参考像素值为所述压缩单元的最小像素值;所述子块的参考像素值为所述子块内的最小像素值。
5.根据权利要求4所述的方法,其特征在于,所述压缩数据还包括:第一关联数据项和第二关联数据项;
所述第一关联数据项包括所述第一差值的比特数;
所述第二关联数据项包括N个第二数据项;所述第二数据项对应的内容为所述第二差值的比特数。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述压缩数据还包括子块划分模式;所述子块划分模式为根据不同的子块划分模式分别对所述压缩单元进行压缩后,所获得的压缩数据量最小的子块划分模式。
7.根据权利要求6所述的方法,其特征在于,所述基于预设压缩数据格式,分别获取每个压缩单元的压缩数据,包括:
基于所述多个压缩单元之间的像素关系、各个子块之间的像素关系以及预设压缩数据格式,分别获取每个压缩单元的压缩数据。
8.根据权利要求7所述的方法,其特征在于,所述第一关联数据项还包括第一位置关系;
若所述待压缩图像包括第一压缩单元和第二压缩单元,且所述第一压缩单元和所述第二压缩单元的像素相同;
若所述第一压缩单元的第一压缩数据包括:所述第一关联数据项、所述第二关联数据项、所述子块划分模式、所述压缩单元的最小像素值所在的子块位置、所述压缩单元的最小像素值、所述第一差值、N个子块的最小像素值所在的像素位置以及N个子块的所述第二差值,则所述第二压缩单元的第二压缩数据为所述第一位置关系,所述第一位置关系用于表征所述第二压缩单元与所述第一压缩单元的位置关系。
9.根据权利要求7所述的方法,其特征在于,所述第二关联数据项还包括第二位置关系;
若所述待压缩图像包括第一子块和第二子块,且所述第一子块和所述第二子块的像素相同;
则所述第一子块所在压缩单元的第三压缩数据包括:所述第一关联数据项、所述第一子块的第二位置关系、其它子块的所述第二数据项、所述子块划分模式、所述压缩单元的最小像素值所在的子块位置、所述压缩单元的最小像素值、所述第一差值、其它子块的最小像素值所在的像素位置以及其它子块的所述第二差值;其中,所述第二位置关系用于表征所述第一子块与所述第二子块的位置关系。
10.根据权利要求4所述的方法,其特征在于,所述压缩单元的参考像素值用第一预设比特位表示;
所述第一像素关联数据的比特位数值用第二预设比特位表示,所述第二预设比特位的位数等于第一最大差值的比特位数,所述第一最大差值为所述压缩单元中,各子块的最小像素值与所述压缩单元的最小像素值的最大差值;
所述第二像素关联数据中每个第一数据项的比特位数值用第三预设比特位表示;所述第三预设比特位的位数等于第二最大差值的比特位数,所述第二最大差值为所述第一数据项对应的子块中,所述子块的其它像素值与所述子块的最小像素值的最大差值;
所述各子块的参考像素值所在的像素位置用第四预设比特位表示。
11.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将所述待压缩图像中各宏块对应的压缩数据进行打包,获得多个压缩包;
根据所述宏块在所述待压缩图像中的位置,确定所述多个压缩包的存储位置;所述多个压缩包的存储空间大小为固定值。
12.根据权利要求11所述的方法,其特征在于,所述将所述待压缩图像中各宏块中包含压缩单元对应的压缩数据进行打包,获得多个压缩包,包括:
将所述宏块的Y像素块对应的压缩数据分为第一压缩包和第二压缩包;
从所述宏块的V像素块中,获取与所述宏块的U像素块中的第一像素块位置匹配的第二像素块;
将所述第一像素块的压缩数据与所述第二像素块的压缩数据进行打包,获得第三压缩包。
CN201910634102.1A 2019-07-15 2019-07-15 图像压缩方法 Active CN110460854B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910634102.1A CN110460854B (zh) 2019-07-15 2019-07-15 图像压缩方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910634102.1A CN110460854B (zh) 2019-07-15 2019-07-15 图像压缩方法

Publications (2)

Publication Number Publication Date
CN110460854A true CN110460854A (zh) 2019-11-15
CN110460854B CN110460854B (zh) 2021-09-03

Family

ID=68482852

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910634102.1A Active CN110460854B (zh) 2019-07-15 2019-07-15 图像压缩方法

Country Status (1)

Country Link
CN (1) CN110460854B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113068043A (zh) * 2020-01-02 2021-07-02 武汉金山办公软件有限公司 一种png图像压缩方法、装置、电子设备及存储介质
CN113613022A (zh) * 2021-06-18 2021-11-05 山东云海国创云计算装备产业创新中心有限公司 一种jpeg图像的压缩方法、装置、设备及可读介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102595117A (zh) * 2011-01-14 2012-07-18 清华大学 一种编解码方法和装置
CN102823244A (zh) * 2010-04-09 2012-12-12 华为技术有限公司 一种视频编解码方法和装置
CN102884787A (zh) * 2010-03-02 2013-01-16 三星电子株式会社 用于产生视频包的方法和设备
US20160065988A1 (en) * 2013-03-28 2016-03-03 Kddi Corporation Video encoding apparatus, video decoding apparatus, video encoding method, video decoding method, and computer program
US20160119631A1 (en) * 2013-07-10 2016-04-28 Kddi Corporation Video encoding device, video decoding device, video system, video encoding method, video decoding method, and computer readable storage medium
CN105933708A (zh) * 2016-04-15 2016-09-07 张彦刚 一种数据压缩和解压缩的方法和装置
CN106157252A (zh) * 2015-04-16 2016-11-23 腾讯科技(深圳)有限公司 一种图像处理方法和图像处理装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102884787A (zh) * 2010-03-02 2013-01-16 三星电子株式会社 用于产生视频包的方法和设备
CN102823244A (zh) * 2010-04-09 2012-12-12 华为技术有限公司 一种视频编解码方法和装置
CN102595117A (zh) * 2011-01-14 2012-07-18 清华大学 一种编解码方法和装置
US20160065988A1 (en) * 2013-03-28 2016-03-03 Kddi Corporation Video encoding apparatus, video decoding apparatus, video encoding method, video decoding method, and computer program
US20160119631A1 (en) * 2013-07-10 2016-04-28 Kddi Corporation Video encoding device, video decoding device, video system, video encoding method, video decoding method, and computer readable storage medium
CN106157252A (zh) * 2015-04-16 2016-11-23 腾讯科技(深圳)有限公司 一种图像处理方法和图像处理装置
CN105933708A (zh) * 2016-04-15 2016-09-07 张彦刚 一种数据压缩和解压缩的方法和装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113068043A (zh) * 2020-01-02 2021-07-02 武汉金山办公软件有限公司 一种png图像压缩方法、装置、电子设备及存储介质
CN113068043B (zh) * 2020-01-02 2024-04-30 武汉金山办公软件有限公司 一种png图像压缩方法、装置、电子设备及存储介质
CN113613022A (zh) * 2021-06-18 2021-11-05 山东云海国创云计算装备产业创新中心有限公司 一种jpeg图像的压缩方法、装置、设备及可读介质
CN113613022B (zh) * 2021-06-18 2023-11-14 山东云海国创云计算装备产业创新中心有限公司 一种jpeg图像的压缩方法、装置、设备及可读介质

Also Published As

Publication number Publication date
CN110460854B (zh) 2021-09-03

Similar Documents

Publication Publication Date Title
US10735727B2 (en) Method of adaptive filtering for multiple reference line of intra prediction in video coding, video encoding apparatus and video decoding apparatus therewith
CN103399802B (zh) 一种图片预加载方法以及装置
CN105681807A (zh) 一种基于h264协议的分像素运动矢量计算方法和装置
US20070230817A1 (en) Image processing apparatus, image processing method and image processing program
CN110460854A (zh) 图像压缩方法
CN106846255B (zh) 图像旋转实现方法及装置
CN114022580B (zh) 用于图像压缩的数据处理方法、装置、设备和存储介质
CN107547773A (zh) 一种图像处理方法、装置及设备
CN110708551A (zh) 视频编码方法、装置、计算机可读存储介质和计算机设备
JP3676237B2 (ja) データ処理装置及び演算器
US11706463B2 (en) Video synthesis method, apparatus, computer device and readable storage medium
EP1992162B1 (en) Memory organizational scheme and controller architecture for image and video processing
TWI545961B (zh) 固定壓縮倍率的影像壓縮方法、影像解壓縮方法及其電子裝置
CN107241608A (zh) 一种用于帧缓存解压的硬件容错方法和装置
CN101370142B (zh) 图像解码和缩放的方法及装置、图像显示系统
US20100074336A1 (en) Fractional motion estimation engine
WO2020107319A1 (zh) 图像处理方法和设备,以及视频处理器
CN110737473A (zh) 数据处理方法及装置、终端、存储介质
WO2019236347A1 (en) Prediction for light-field coding and decoding
CN109634955A (zh) 数据存储方法、数据检索方法和装置
CN111815502B (zh) 基于WebP压缩算法的多图处理的FPGA加速方法
US10862508B1 (en) Method and device for encoding and compressing bit stream
CN110536123A (zh) 视频数据处理方法、装置、计算机设备和存储介质
CN113542805B (zh) 视频传输方法及装置
CN114666600B (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
CP02 Change in the address of a patent holder
CP02 Change in the address of a patent holder

Address after: 519000 No. 333, Kexing Road, Xiangzhou District, Zhuhai City, Guangdong Province

Patentee after: ZHUHAI JIELI TECHNOLOGY Co.,Ltd.

Address before: Floor 1-107, building 904, ShiJiHua Road, Zhuhai City, Guangdong Province

Patentee before: ZHUHAI JIELI TECHNOLOGY Co.,Ltd.