CN109982086B - 图像压缩方法及其装置 - Google Patents

图像压缩方法及其装置 Download PDF

Info

Publication number
CN109982086B
CN109982086B CN201910283606.3A CN201910283606A CN109982086B CN 109982086 B CN109982086 B CN 109982086B CN 201910283606 A CN201910283606 A CN 201910283606A CN 109982086 B CN109982086 B CN 109982086B
Authority
CN
China
Prior art keywords
group
channel data
tree
empty
specific
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
CN201910283606.3A
Other languages
English (en)
Other versions
CN109982086A (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.)
Granfei Intelligent Technology Co ltd
Original Assignee
Shanghai Zhaoxin Integrated Circuit 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 Shanghai Zhaoxin Integrated Circuit Co Ltd filed Critical Shanghai Zhaoxin Integrated Circuit Co Ltd
Priority to CN201910283606.3A priority Critical patent/CN109982086B/zh
Priority to US16/412,457 priority patent/US10984561B2/en
Publication of CN109982086A publication Critical patent/CN109982086A/zh
Application granted granted Critical
Publication of CN109982086B publication Critical patent/CN109982086B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/40Tree coding, e.g. quadtree, octree
    • 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/184Methods 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 bits, e.g. of the compressed video stream
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明提供一种图像压缩方法及其装置。所述方法包括:取得图像区块,其中图像区块包括多个像素,各像素包括多个通道数据;依据图像区块的图像压缩率定义多个根节点;将各像素的各通道数据划分至前述根节点对应的多个群组中,其中各群组的结构为二叉树;若前述群组中存在空树,将前述群组中的非空树划分为多个子树,并以前述子树取代空树及非空树,以更新群组及根节点;构建各群组的中心值,并决定各群组中的各通道数据的群组索引值;编码各群组的中心值,并将各通道数据以对应的中心值及群组索引值来表征,以压缩各通道数据。

Description

图像压缩方法及其装置
技术领域
本发明是有关于一种图像压缩方法及其装置,且特别是有关于一种基于二叉树原理所进行的图像压缩方法及其装置。
背景技术
在现有技术中,图像压缩一般是利用空间的冗余性或通道间的冗余性来对图像进行压缩。然而,图像的部分区块可能存在数据差别较大,使得空间或通道间几乎不存在冗余。在此情况下,传统的图像压缩方法可能难以得到较好的压缩质量,进而可能会造成部分数据在压缩后出现较大的失真或偏差。一般而言,较大的偏差多半是归因于通道数据经压缩后在数个最高有效位(most significant bit,MSB)上所产生的误差。
因此,对于本领域技术人员而言,针对图像区块内数据差别较大的情况,如何设计一种可以尽可能地保证最高有效位数据的无损编码的图像压缩机制实至关重要。
发明内容
有鉴于此,本发明提供一种图像压缩方法及其装置,其可藉由保留通道数据的数个最高有效位来提升图像压缩的质量。
本发明提供一种图像压缩方法,包括:取得一图像区块,其中图像区块包括多个像素,各像素包括多个通道数据;依据图像区块的一图像压缩率定义多个根节点;将各像素的各通道数据划分至前述根节点对应的多个群组中,其中各群组的结构为二叉树;若前述群组中存在至少一空树,将前述群组中的至少一非空树划分为多个子树,并以前述子树取代至少一空树及至少一非空树,以更新前述群组及前述根节点;构建各群组的一中心值,并决定各群组中的各通道数据的群组索引值;编码各群组的中心值,并将各通道数据以对应的中心值及群组索引值来表征,以压缩各通道数据。
本发明提供一种图像压缩装置,包括存储电路及处理器。存储电路存储多个模块。处理器耦接该存储电路,存取该些模块以执行下列步骤:取得一图像区块,其中图像区块包括多个像素,各像素包括多个通道数据;依据图像区块的一图像压缩率定义多个根节点;将各像素的各通道数据划分至前述根节点对应的多个群组中,其中各群组的结构为二叉树;若前述群组中存在至少一空树,将前述群组中的至少一非空树划分为多个子树,并以前述子树取代至少一空树及至少一非空树,以更新前述群组及前述根节点;构建各群组的一中心值,并决定各群组中的各通道数据的群组索引值;编码各群组的中心值,并将各通道数据以对应的中心值及群组索引值来表征,以压缩各通道数据。
基于上述,本发明提出的图像压缩方法及其装置可利用二叉树原理将图像区块内的所有数据分成数个群组,从而尽可能的保证了最高有效位信息的无损编码,降低了压缩后的误差。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。
附图说明
图1是依据本发明的一实施例绘示的图像压缩装置功能方块图。
图2是依据本发明的一实施例绘示的图像压缩方法流程图。
图3A是依据本发明的一实施例绘示的依据图像压缩率定义根节点的示意图。
图3B是依据图3A绘示的将各通道数据划分至对应于各根节点的群组的示意图。
图3C是依据图3B绘示的更新后群组及根节点的示意图。
图3D是依据图3C绘示的更新后群组及根节点的示意图。
图4是依据本发明的一实施例绘示的更新群组并据以构建中心值的示意图。
【符号说明】
100:图像压缩装置
102:存储电路
104:处理器
311、312:叶子
G1、G2、G3、G4、G5、G6、G7、G8:群组
R1、R2、R3、R4、R5、R6、R7、R8:根节点
R11、R12:子节点
S210~S260:步骤
具体实施方式
请参照图1,其是依据本发明的一实施例绘示的图像压缩装置功能方块图。在本实施例中,图像压缩装置100包括存储电路102及处理器104。
在不同的实施例中,图像压缩装置100可以是手机、智能型手机、个人计算机(personal computer,PC)、笔记本电脑(notebook PC)、网本型计算机(netbook PC)、平板计算机(tablet PC)、数字相机或是其他类似的智能型装置,但可不限于此。
存储电路102可为任意型式的固定式或可移动式随机存取存储器(Random AccessMemory,RAM)、只读存储器(Read-Only Memory,ROM)、闪存(Flash memory)、硬盘或其他类似装置,而可用以储存计算机可擦写软件、图像、程序模块及其他信息。
处理器104耦接于存储电路102,并可为通用处理器、专用处理器、传统的处理器、数字信号处理器、多个微处理器(microprocessor)、一个或多个结合数字信号处理器核心的微处理器、控制器、微控制器、专用集成电路(Application Specific IntegratedCircuit,ASIC)、现场可编程门阵列(Field Programmable Gate Array,FPGA)、任何其他种类的集成电路、状态机、基于进阶精简指令集机器(Advanced RISC Machine,ARM)的处理器以及类似品。
请参照图2,其是依据本发明的一实施例绘示的图像压缩方法流程图。本实施例的方法可由图1的图像压缩装置100执行,以下即搭配图1所示的组件来说明本方法的步骤细节。
首先,在步骤S210中,处理器104可取得图像区块。在本实施例中,处理器104可在接收一张完整的图像帧之后,将此图像帧区分为具同样尺寸的多个图像区块。为便于说明本发明的精神,以下将仅基于处理器104所取得的其中一个图像区块进行说明。
在以下实施例中,所考虑的图像区块的尺寸假设(但不限于)为8x2(即,长、宽分别为8个像素及2个像素,共16个像素),每个像素可具有3个通道数据(分别对应R、G、B),而各通道数据例如可包括8个比特。在上述假设下,一个图像区块中总共存在48(即,8x2x3)个通道数据,而这48个通道数据对应的比特总数为384(即,48x8)(即,实现上述图像区块的无损压缩所需的比特数)。
在步骤S220中,处理器104可依据图像区块的图像压缩率定义多个根节点。
请参照图3A,其是依据本发明的一实施例绘示的依据图像压缩率定义根节点的示意图。在本实施例中,假设用于压缩上述图像区块的图像压缩率为2,则根节点R1、R2、R3、R4、R6、R7及R8可分别包括000、001、010、011、100、101、110及111,如图3A所示。
在其他实施例中,图像压缩率亦可依设计者的需求而调整,而据以定义的根节点亦可呈现为不同的态样。举例而言,假设用于压缩上述图像区块的图像压缩率为3,则前述根节点可包括00、01、10及11。举另一例而言,假设用于压缩上述图像区块的图像压缩率为6,则前述根节点可包括0、1,但本发明可不限于此。
在步骤S230中,处理器104可将各像素的各通道数据划分至前述根节点对应的多个群组中,其中各群组的结构为二叉树。
详细而言,请参照图3B,其是依据图3A绘示的将各通道数据划分至对应于各根节点的群组的示意图。在本实施例中,假设前述48个通道数据中包括1个「00000011」的通道数据,则此通道数据因高3位为「000」而将被划分至根节点R1(即,「000」)所属的群组G1中,并依据二叉树的一般建构原则而形成群组G1中的叶子311。另外,假设前述48个通道数据中包括2个「00000100」的通道数据,则此2个通道数据同样将因高3位为「000」而被划分至根节点R1(即,「000」)所属的群组G1中,并依据二叉树的一般建构原则而形成群组G1中的叶子312,其中,指向叶子312的箭头上将标示2,用以代表「00000100」的通道数据共有2个。
此外,若前述48个通道数据中包括高3位为001、010、011、100、101、110或111的通道数据,则此通道数据将相应地作为一个叶子而被划分至群组G2、G3、G4、G5、G6、G7或G8。
如图3B所示,在将上述图像区块中的48个通道数据划分至群组G1-G8之后,群组G1-G8的例示性态样如下:根节点R1(即,「000」)的群组G1内共有17棵子树,24个叶子;根节点R2(即,「001」)的群组G2内共有2棵子树,6个叶子;根节点R3(即,「010」)的群组G3内共有5棵子树,6个叶子;根节点R4(即,「011」)的群组G4内共有1棵子树,4个叶子;根节点R5(即,「100」)的群组G5内共有1棵子树,3个叶子;根节点R6(即,「101」)的群组G6内有3棵子树,5个叶子;根节点R7(即,「110」)的群组G7及根节点R8(即,「111」)的群组G8则因未包括任何子树及叶子而为空树。
应了解的是,对于依据其他图像区块所产生的群组G1-G8,其态样及结构将因所述其他图像区块中的48个通道数据的不同而有所变化。
在步骤S240中,若前述群组中存在空树,处理器104将前述群组中的非空树划分为多个子树,并以前述子树取代空树及非空树,以更新前述群组及前述根节点。在本实施例中,前述非空树至少具有左子树及右子树。
以图3B为例,其中非空树例如是群组G1-G3及群组G6。因此,群组G1-G3及群组G6可用于划分为多个子树,用以取代图3B中的空树,即群组G7及G8。
在一实施例中,处理器104可依以下步骤来更新群组G1-G8:(a)从非空树中选择特定非空树;(b)将特定非空树划分为第一子树及第二子树;(c)以第一子树及第二子树取代特定非空树及空树中的特定空树,以更新群组G1-G8;(d)以第一子树的根节点取代特定非空树在根节点R1-R8中对应的第一根节点,并以第二子树的根节点取代特定空树在根节点R1-R8中对应的第二根节点,以更新根节点R1-R8;(e)重复(a)、(b)、(c)、(d),直至群组G1-G8中不存在非空树。
在一实施例中,处理器104可从非空树中选择叶子数量最多的一者作为上述特定非空树。在另一实施例中,若同时有2棵非空树具有最多的叶子数量,则处理器104可从中选择子树数量较少的一者作为上述特定非空树。在其他实施例中,若同时有2棵非空树具有最多的叶子数量及相同的子树数量,则处理器104可择一作为上述特定非空树,但本发明可不限于此。
以图3B为例,由于群组G1的叶子数量(共24个)在群组G1-G3及群组G6(即,非空树)中为最多,故处理器104可选择群组G1作为上述特定非空树,并可将群组G1划分为第一子树及第二子树。
在图3B中,群组G1可被划分为以节点「0000」作为根节点的第一子树,以及以节点「0001」作为根节点的第二子树。接着,处理器104可以第一子树及第二子树取代特定非空树(即,群组G1)及空树中的特定空树(例如,群组G7),以更新群组G1-G8。接着,处理器104可以第一子树的根节点(即,「0000」)取代特定非空树(即,群组G1)在根节点R1-R8中对应的第一根节点(即,根节点R1),并以第二子树的根节点(即,「0001」)取代特定空树(即,群组G7)在根节点R1-R8中对应的第二根节点(即,根节点R7),以更新根节点R1-R8。
从另一观点而言,以上动作可视为是先将其中一个空树移除,再从较大棵的非空树中择一划分为两个独立的二叉树,以构建新的群组G1-G8。
请参照图3C,其是依据图3B绘示的更新后群组及根节点的示意图。如图3C所示,更新后的群组G1例如对应于图3B中以节点「0000」作为根节点的第一子树,且群组G1的根节点R1亦相应地被更新为「0000」。相似地,更新后的群组G7例如对应于图3B中以节点「0001」作为根节点的第二子树,且群组G7的根节点R7亦相应地被更新为「0001」。
此时,由于图3C所示态样中仍存在空树(即,群组G8),因此处理器104可再次执行上述步骤(a)-(d),以更新图3C所示态样。
具体而言,在图3C中,由于群组G1及群组G7的叶子数量皆为12,因此处理器104可从中选择具较少子树的一者作为特定非空树。由于群组G7具有8棵子树,少于群组G1的9棵子树,因此处理器104可选择在群组G7作为上述特定非空树,并可将群组G7划分为第一子树及第二子树。
在图3C中,群组G7可被划分为以节点「000100」作为根节点的第一子树,以及以节点「00011」作为根节点的第二子树。接着,处理器104可以第一子树及第二子树取代特定非空树(即,群组G7)及空树中的特定空树(例如,群组G8),以更新群组G1-G8。接着,处理器104可以第一子树的根节点(即,「000100」)取代特定非空树(即,群组G7)在根节点R1-R8中对应的第一根节点(即,根节点R7),并以第二子树的根节点(即,「00011」)取代特定空树(即,群组G8)在根节点R1-R8中对应的第二根节点(即,根节点R8),以更新根节点R1-R8。
请参照图3D,其是依据图3C绘示的更新后群组及根节点的示意图。如图3D所示,更新后的群组G7例如对应于图3C中以节点「000100」作为根节点的第一子树,且群组G7的根节点R7亦相应地被更新为「000100」。相似地,更新后的群组G8例如对应于图3C中以节点「00011」作为根节点的第二子树,且群组G8的根节点R8亦相应地被更新为「00011」。
在群组G1-G8被更新为不存在空树之后,在步骤S250中,处理器104可构建各群组G1-G8的中心值,并决定各群组G1-G8中的各通道数据的群组索引值。
在一实施例中,对于群组G1-G8中的特定群组而言,处理器104可取得特定群组在根节点R1-R8中所对应的特定根节点。之后,处理器104可选择特定根节点下的特定子节点。
在一实施例中,特定子节点的叶子数量在特定根节点的多个子节点中为最多。在另一实施例中,除了具最多的叶子数量之外,上述特定子节点的子树数量在特定根节点的子节点中为最少。在其他实施例中,若特定根节点的子节点具有相同的叶子数量及子树数量,则处理器104可从这些子节点中任选其一作为特定子节点。藉此,可令所选出的特定子节点能够较佳地反映特定群组的数据特性,进而降低压缩后的质量损失。
接着,处理器104可基于特定根节点及特定子节点之间差异的最高比特将特定子节点填补至特定长度。并且,处理器104可定义填补后的特定子节点为特定群组的中心值。
以群组G1为例,处理器104可取得群组G1在根节点R1-R8中所对应的特定根节点(即,根节点R1),并选择根节点R1下的特定子节点。在图3D中,根节点R1例如具有子节点R11(即,「00000」)及子节点R12(即,「000010」),其中子节点R11及R12虽具有相同的叶子数量(即,6),但由于子节点R12的子树数量(即,4)少于子节点R11的子树数量(即,5),故处理器104可选择子节点R12作为特定子节点。
之后,处理器104可基于根节点R1(即,「0000」)及子节点R12(即,「000010」)之间差异的最高比特将子节点R12填补至特定长度。在本实施例中,根节点R1及子节点R12之间的差异即为「10」,而其最高比特为「1」,因此处理器104可依据此最高比特将子节点R12填补至特定长度(例如,8比特)。
在一实施例中,处理器104可采用上述最高比特的反相值(即,「0」)来将子节点R12填补至8个比特。亦即,填补后的子节点R12即为「00001000」,而处理器104可将「00001000」(即,填补后的子节点R12)定义为群组G1的中心值。
对于群组G2-G8而言,处理器104亦可基于以上教导而相应地取得各群组G2-G8的中心值,其细节于此不再赘述。
在其他实施例中,处理器104可基于以下机制来决定各群组G1-G8中的各通道数据的群组索引值。具体而言,处理器104可取得前述48个通道数据中的第1个通道数据,并据以定义群组G1-G8中的第1个群组,其中所述第1个群组默认为所述第1个通道数据所属的群组。藉此,可省略所述第1个通道数据的群组索引值(即,记录所述第1个通道数据的群组索引值所需的比特数为0)。
在一实施例中,处理器104可以1个比特表示前述48个通道数据中的第2个通道数据是位于所述第1个群组或群组G1-G8中的第2个群组。具体而言,若所述第2个通道数据不在所述第1个群组,则令所述第2个通道数据放在所述第2个群组。因此,所述第2个通道数据需要1个比特来表示其在哪个群组。
相似地,对于前述48个通道数据中的第3个通道数据而言,若其不在所述第1个群组或所述第2个群组,则将其放在群组G1-G8中的第3个群组。因此,处理器104可以2个比特表示所述第3个通道数据是位于所述第1个群组、所述第2个群组或所述第3个群组。
对于前述48个通道数据中的第4个通道数据而言,其概念相似于所述第3个通道数据,因此处理器104可以2个比特表示所述第4个通道数据是位于所述第1个群组、所述第2个群组或所述第4个群组。
对于前述48个通道数据中的第i个通道数据而言,处理器104需以3个比特表示所述第i个通道数据是位于群组G1-G8中的第j个群组,其中i为介于5及X之间的整数,X为通道数据的总数(即,48),j为介于1至Y之间的整数,Y为群组G1-G8的总数(即,8)。
之后,在步骤S260中,处理器104可编码各群组G1-G8的中心值,并将各通道数据以对应的中心值及群组索引值来表征,以压缩各通道数据。
具体而言,由上可知,共需要137个比特(即,0+1+2+2+44×3),方能完整地记录前述48个通道数据个别的群组索引值。并且,在所考虑的图像压缩率为2的情况下,总共能用于编码前述48个通道数据的预算为192个比特(即,384/2)。因此,仅剩余55个(即,192-137)比特可用于编码各群组G1-G8的中心值。
据此,在一实施例中,对于群组G1-G8中的第n个群组而言,处理器104可将所述第n个群组对应的中心值以其高m位表示,其中:
Figure BDA0002022512680000091
其中,n为介于1至Y之间的整数,mod(a,b)为以a除以b的余数。
在一实施例中,用于编码各通道数据的群组索引值以及用于编码各群组G1-G8的中心值所需的比特数可整理为下表1。
Figure BDA0002022512680000092
表1
进一步而言,由先前实施例中的教导可知,各群组G1-G8所对应的中心值的长度应皆为8比特。然而,由上式(1)可看出,由于55个比特不足以完整地表示各群组G1-G8的中心值(共需64个比特),因此对于群组G1-G8中的一部分群组(例如第7个群组及/或第8个群组)而言,需以有损编码的方式来对此部分群组的中心值进行编码。例如,处理器104可采用所述第7个群组的中心值的高7位来表示此中心值,以对此中心值进行编码。或者,处理器104亦可采用所述第8个群组的中心值的高6位来表示此中心值,以对此中心值进行编码。
在完成各群组G1-G8中心值的编码之后,处理器104可将各通道数据以对应的中心值及群组索引值来表征。以群组G1中的通道数据为例,这些通道数据将会悉数被编码后的群组G1的中心值代替。并且,由于群组G1中的各个通道数据已藉由先前实施例的教导而具有相应的群组索引值,因此群组G1中各通道数据可表征为「群组G1的编码后中心值+群组索引值」。藉此,可达到压缩群组G1中各通道数据的效果。
此外,处理器104可采用相似的概念来表征各群组G2-G8中的各个通道数据,进而达到压缩群组G2-G8中各通道数据的效果。
由以上教导可知,在图像压缩率为2的情况下,本发明提出的图像压缩方法及其装置可利用二叉树原理将图像区块内的所有数据分成8个群组,从而尽可能的保证了最高有效位信息的无损编码。并且,各群组的中心值的构建过程也考虑了各群组中通道数据的分布特性,进而将压缩后的误差降低。藉此,本发明实施例方法对于图像区块内数据差别较大的情况(例如,包括大量非汉字的图像)能有更好的质量保证。并且,经实验,采用本发明的图像压缩方法可令图像区块的峰值信号噪声比(Peak Signal to Noise Ratio,PSNR)提升约1%至7%左右。
本领域具通常知识者应可了解,虽以上实施例皆以单一个图像区块来进行说明,但上述教导亦可用于对前述图像帧内的其他图像区块进行压缩,其细节于此不再赘述。
为令本发明的概念更为清楚,以下另提供一实例以进行说明。请参照图4,其是依据本发明的一实施例绘示的更新群组并据以构建中心值的示意图。在本实施例中,图像区块中的48个通道数据依序列于图4最左侧,而这些通道数据可由处理器104基于先前的教导而划分至对应的根节点的群组中。之后,在经过第1次更新之后,前述群组可被更新为所示的群组G1-G7,而其分别对应根节点R1-R7。换言之,在经历第1次更新之后,仍存在一棵空树。相应地,处理器104可再进行第2次更新,以将群组G1-G7更新为所示的群组G1-G8(其分别对应根节点R1-R8)。
在经历第2次更新之后,由于已不存在空树,故处理器104可依据前述教导而构建群组G1-G8的中心值。在本实施例中,群组G1的中心值例如是「00000111」,即第1个通道数据至第15个通道数据将被以此中心值代替;群组G2的中心值例如是「00010111」,即第16个通道数据至第24个通道数据将被以此中心值代替;群组G3的中心值例如是「00101111」,即第25个通道数据至第30个通道数据将被以此中心值代替;群组G4的中心值例如是「01000111」,即第31个通道数据至第33个通道数据将被以此中心值代替;群组G5的中心值例如是「0110111」,即第34个通道数据至第37个通道数据将被以此中心值代替;群组G6的中心值例如是「10001111」,即第38个通道数据至第39个通道数据将被以此中心值代替;群组G7的中心值例如是「10101000」,即第40个通道数据至第42个通道数据将被以此中心值代替;群组G8的中心值例如是「11101111」,即第43个通道数据至第48个通道数据将被以此中心值代替。
之后,处理器104可对上述各中心值进行编码,并搭配前述48个通道数据各自的群组索引值,即可将各通道数据表征为「编码后中心值+群组索引值」的态样,以达到压缩的效果。
在一实施例中,若所考虑的图像压缩率为3,则总共能用于编码图像区块中的48个通道数据的预算为128个比特(即,384/3)。相应地,处理器104可将前述48个通道数据分为4个群组。并且,处理器104可取得前述48个通道数据中的第1个通道数据,并据以定义所述4个群组中的第1个群组,其中所述第1个群组默认为所述第1个通道数据所属的群组。藉此,可省略所述第1个通道数据的群组索引值(即,记录所述第1个通道数据的群组索引值所需的比特数为0)。
并且,处理器104可以1个比特表示前述48个通道数据中的第2个通道数据是位于所述第1个群组或所述4个群组中的第2个群组。具体而言,若所述第2个通道数据不在所述第1个群组,则令所述第2个通道数据放在所述第2个群组。因此,所述第2个通道数据需要1个比特来表示其在哪个群组。
对于前述48个通道数据中的第i个通道数据而言,处理器104需以2个比特表示所述第i个通道数据是位于所述4个群组中的第j个群组,其中i为介于3及X之间的整数,X为通道数据的总数(即,48),j为介于1至Y之间的整数,Y为所述4个群组的总数(即,4)。
由上可知,共需要93个比特(即,0+1+2×46),方能完整地记录前述48个通道数据各自的群组索引值。因此,仅剩余35个(即,128-93)比特可用于编码所述4个群组的中心值。然而,由于编码所述4个群组的中心值仅需32个比特,因此对于所述4个群组中的第n个群组而言,处理器104可对所述第n个群组对应的中心值进行无损编码,其中n为介于1至Y之间的整数。
相似地,在另一实施例中,若所考虑的图像压缩率为6,则总共能用于编码图像区块中的48个通道数据的预算为64个比特(即,384/6)。相应地,处理器104可将前述48个通道数据分为2个群组。并且,处理器104可取得前述48个通道数据中的第1个通道数据,并据以定义所述2个群组中的第1个群组,其中所述第1个群组默认为所述第1个通道数据所属的群组。藉此,可省略所述第1个通道数据的群组索引值(即,记录所述第1个通道数据的群组索引值所需的比特数为0)。
对于前述48个通道数据中的第i个通道数据而言,处理器104需以2个比特表示所述第i个通道数据是位于所述2个群组中的第j个群组,其中i为介于2及X之间的整数,X为通道数据的总数(即,48),j为介于1至Y之间的整数,Y为所述2个群组的总数(即,2)。
由上可知,共需要47个比特(即,0+1×47),方能完整地记录前述48个通道数据各自的群组索引值。因此,仅剩余17个(即,64-47)比特可用于编码所述2个群组的中心值。然而,由于编码所述2个群组的中心值仅需16个比特,因此对于所述2个群组中的第n个群组而言,处理器104可对所述第n个群组对应的中心值进行无损编码,其中n为介于1至Y之间的整数。
综上所述,本发明实施例提出的图像压缩方法及其装置可基于二叉树原理及所考虑的图像压缩率而将图像区块内的所有通道数据划分至数个群组,从而尽可能的保证了最高有效位信息的无损编码。并且,各群组的中心值的构建过程也考虑了各群组中通道数据的分布特性,进而将压缩后的误差降低。藉此,本发明实施例方法对于图像区块内数据差别较大的情况能有更好的质量保证。
虽然本发明已以实施例揭露如上,然其并非用以限定本发明,任何所属技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可作些许的更动与润饰,故本发明的保护范围当视后附的权利要求书所界定者为准。

Claims (38)

1.一种图像压缩方法,包括:
取得一图像区块,其中该图像区块包括多个像素,每个像素包括多个通道数据;
依据该图像区块的一图像压缩率定义多个根节点;
将每个像素的每个通道数据划分至所述根节点对应的多个群组中,其中每个群组的结构为二叉树;
若所述群组中存在至少一空树,将所述群组中的至少一非空树划分为多个子树,并以所述子树取代该至少一空树及该至少一非空树,以更新所述群组及所述根节点,其中每个非空树至少具有左子树及右子树,其中将所述群组中的该至少一非空树划分为所述子树,并以所述子树取代该至少一空树及该至少一非空树的步骤包括:
(a)从该至少一非空树中选择特定非空树;
(b)将该特定非空树划分为第一子树及第二子树;
(c)以该第一子树及该第二子树取代该特定非空树及该至少一空树中的特定空树,以更新所述群组;
(d)以该第一子树的根节点取代该特定非空树在所述根节点中对应的一第一根节点,并以该第二子树的根节点取代该特定空树在所述根节点中对应的一第二根节点,以更新所述根节点;
(e)重复(a)、(b)、(c)、(d),直至所述群组中不存在非空树;
构建每个群组的一中心值,并决定每个群组中的每个通道数据的群组索引值;以及
编码每个群组的该中心值,并将每个通道数据以对应的该中心值及该群组索引值来表征,以压缩每个通道数据。
2.如权利要求1所述的方法,其中该图像压缩率为2,且所述根节点包括000、001、010、011、100、101、110及111。
3.如权利要求2所述的方法,其中若所述像素中的一特定像素的最高3比特相同于所述根节点中的一特定根节点,则该特定像素被划分至该特定根节点在所述群组中所对应的一特定群组。
4.如权利要求1所述的方法,其中该图像压缩率为3,且所述根节点包括00、01、10及11。
5.如权利要求4所述的方法,其中若所述像素中的一特定像素的最高2比特相同于所述根节点中的一特定根节点,则该特定像素被划分至该特定根节点在所述群组中所对应的一特定群组。
6.如权利要求1所述的方法,其中该特定非空树的叶子数量在该至少一非空树中是最多的。
7.如权利要求6所述的方法,其中若存在多个该特定非空树,则将多个该特定非空树中子树数量最少的一者划分为该第一子树及该第二子树。
8.如权利要求7所述的方法,其中若多个该特定非空树具有相同的子树数量,从多个该特定非空树中任选其一以划分为该第一子树及该第二子树。
9.如权利要求1所述的方法,其中构建每个群组的该中心值的步骤包括:
对于所述群组中的特定群组而言,取得该特定群组在所述根节点中所对应的特定根节点;
选择该特定根节点下的特定子节点;
基于该特定根节点及该特定子节点之间差异的最高比特将该特定子节点填补至特定长度;以及
定义填补后的该特定子节点为该特定群组的该中心值。
10.如权利要求9所述的方法,其中该特定子节点的叶子数量在该特定根节点的多个子节点中是最多的。
11.如权利要求10所述的方法,其中该特定子节点的子树数量在该特定根节点的所述子节点中是最少的。
12.如权利要求11所述的方法,其中若该特定根节点的所述子节点具有相同的该叶子数量及该子树数量,从所述子节点中任选其一作为该特定子节点。
13.如权利要求9所述的方法,其中若该最高比特为第一值,则在该特定子节点之后填补至少一第二值,以将该定子节点填补至该特定长度,其中该第一值与每个第二值反相。
14.如权利要求9所述的方法,其中该特定长度为8比特。
15.如权利要求1所述的方法,其中决定每个群组中的每个通道数据的该群组索引值的步骤包括:
取得所述通道数据中的第1个通道数据,并据以定义所述群组中的第1个群组,其中所述第1个群组默认为所述第1个通道数据所属的群组;
以1个比特表示所述通道数据中的第2个通道数据是位于所述第1个群组或所述群组中的第2个群组。
16.如权利要求15所述的方法,更包括:
以2个比特表示所述通道数据中的第3个通道数据是位于所述第1个群组、所述第2个群组或所述群组中的第3个群组;以及
以2个比特表示所述通道数据中的第4个通道数据是位于所述第1个群组、所述第2个群组或所述第3个群组。
17.如权利要求16所述的方法,更包括:
以3个比特表示所述通道数据中的第i个通道数据是位于所述群组中的第j个群组,其中i为介于5及X之间的整数,X为所述通道数据的总数,j为介于1至Y之间的整数,Y为所述群组的总数。
18.如权利要求1所述的方法,其中当该图像区块中的所述像素的数量为16,每个像素的所述通道数据的数量为3,且该图像压缩率为2时,编码每个群组的该中心值的步骤包括:
对于所述群组中的第n个群组而言,将所述第n个群组对应的该中心值以其高m位表示,其中:
Figure FDA0002648349960000031
其中n为介于1至Y之间的整数,Y为所述群组的总数,mod(a,b)为以a除以b的余数。
19.如权利要求1所述的方法,其中当该图像区块中的所述像素的数量为16,每个像素的所述通道数据的数量为3,且该图像压缩率为3或6时,编码每个群组的该中心值的步骤包括:
对于所述群组中的第n个群组而言,对所述第n个群组对应的该中心值进行一无损编码,其中n为介于1至Y之间的整数,Y为所述群组的总数。
20.一种图像压缩装置,包括:
存储电路,存储多个模块;以及
处理器,耦接该存储电路,存取所述模块以执行下列步骤:
取得一图像区块,其中该图像区块包括多个像素,每个像素包括多个通道数据;
依据该图像区块的一图像压缩率定义多个根节点;
将每个像素的每个通道数据划分至所述根节点对应的多个群组中,其中每个群组的结构为二叉树;
若所述群组中存在至少一空树,将所述群组中的至少一非空树划分为多个子树,并以所述子树取代该至少一空树及该至少一非空树,以更新所述群组及所述根节点,其中每个非空树至少具有左子树及右子树,其中将所述群组中的该至少一非空树划分为所述子树,并以所述子树取代该至少一空树及该至少一非空树的步骤包括:
(a)从该至少一非空树中选择特定非空树;
(b)将该特定非空树划分为第一子树及第二子树;
(c)以该第一子树及该第二子树取代该特定非空树及该至少一空树中的特定空树,以更新所述群组;
(d)以该第一子树的根节点取代该特定非空树在所述根节点中对应的一第一根节点,并以该第二子树的根节点取代该特定空树在所述根节点中对应的一第二根节点,以更新所述根节点;
(e)重复(a)、(b)、(c)、(d),直至所述群组中不存在非空树;
构建每个群组的一中心值,并决定每个群组中的每个通道数据的群组索引值;以及
编码每个群组的该中心值,并将每个通道数据以对应的该中心值及该群组索引值来表征,以压缩每个通道数据。
21.如权利要求20所述的图像压缩装置,其中该图像压缩率为2,且所述根节点包括000、001、010、011、100、101、110及111。
22.如权利要求21所述的图像压缩装置,其中若所述像素中的一特定像素的最高3比特相同于所述根节点中的一特定根节点,则该特定像素被划分至该特定根节点在所述群组中所对应的一特定群组。
23.如权利要求20所述的图像压缩装置,其中该图像压缩率为3,且所述根节点包括00、01、10及11。
24.如权利要求23所述的图像压缩装置,其中若所述像素中的一特定像素的最高2比特相同于所述根节点中的一特定根节点,则该特定像素被划分至该特定根节点在所述群组中所对应的一特定群组。
25.如权利要求20所述的图像压缩装置,其中该特定非空树的叶子数量在该至少一非空树中是最多的。
26.如权利要求25所述的图像压缩装置,其中若存在多个该特定非空树,则将多个该特定非空树中子树数量最少的一者划分为该第一子树及该第二子树。
27.如权利要求26所述的图像压缩装置,其中若多个该特定非空树具有相同的子树数量,从多个该特定非空树中任选其一以划分为该第一子树及该第二子树。
28.如权利要求20所述的图像压缩装置,其中该处理器被配置以:
对于所述群组中的特定群组而言,取得该特定群组在所述根节点中所对应的特定根节点;
选择该特定根节点下的特定子节点;
基于该特定根节点及该特定子节点之间差异的最高比特将该特定子节点填补至特定长度;以及
定义填补后的该特定子节点为该特定群组的该中心值。
29.如权利要求28所述的图像压缩装置,其中该特定子节点的叶子数量在该特定根节点的多个子节点中是最多的。
30.如权利要求29所述的图像压缩装置,其中该特定子节点的子树数量在该特定根节点的所述子节点中是最少的。
31.如权利要求30所述的图像压缩装置,其中若该特定根节点的所述子节点具有相同的该叶子数量及该子树数量,从所述子节点中任选其一作为该特定子节点。
32.如权利要求28所述的图像压缩装置,其中若该最高比特为第一值,则在该特定子节点之后填补至少一第二值,以将该定子节点填补至该特定长度,其中该第一值与每个第二值反相。
33.如权利要求28所述的图像压缩装置,其中该特定长度为8比特。
34.如权利要求29所述的图像压缩装置,其中该处理器被配置以:
取得所述通道数据中的第1个通道数据,并据以定义所述群组中的第1个群组,其中所述第1个群组默认为所述第1个通道数据所属的群组;
以1个比特表示所述通道数据中的第2个通道数据是位于所述第1个群组或所述群组中的第2个群组。
35.如权利要求34所述的图像压缩装置,该处理器还被配置以:
以2个比特表示所述通道数据中的第3个通道数据是位于所述第1个群组、所述第2个群组或所述群组中的第3个群组;以及
以2个比特表示所述通道数据中的第4个通道数据是位于所述第1个群组、所述第2个群组或所述第3个群组。
36.如权利要求35所述的图像压缩装置,该处理器还被配置以:
以3个比特表示所述通道数据中的第i个通道数据是位于所述群组中的第j个群组,其中i为介于5及X之间的整数,X为所述通道数据的总数,j为介于1至Y之间的整数,Y为所述群组的总数。
37.如权利要求20所述的图像压缩装置,其中当该图像区块中的所述像素的数量为16,每个像素的所述通道数据的数量为3,且该图像压缩率为2时,该处理器被配置以:
对于所述群组中的第n个群组而言,将所述第n个群组对应的该中心值以其高m位表示,其中:
Figure FDA0002648349960000061
其中n为介于1至Y之间的整数,Y为所述群组的总数,mod(a,b)为以a除以b的余数。
38.如权利要求20所述的图像压缩装置,其中当该图像区块中的所述像素的数量为16,每个像素的所述通道数据的数量为3,且该图像压缩率为3或6时,该处理器被配置以:
对于所述群组中的第n个群组而言,对所述第n个群组对应的该中心值进行一无损编码,其中n为介于1至Y之间的整数,Y为所述群组的总数。
CN201910283606.3A 2019-04-10 2019-04-10 图像压缩方法及其装置 Active CN109982086B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201910283606.3A CN109982086B (zh) 2019-04-10 2019-04-10 图像压缩方法及其装置
US16/412,457 US10984561B2 (en) 2019-04-10 2019-05-15 Method for compressing image and device using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910283606.3A CN109982086B (zh) 2019-04-10 2019-04-10 图像压缩方法及其装置

Publications (2)

Publication Number Publication Date
CN109982086A CN109982086A (zh) 2019-07-05
CN109982086B true CN109982086B (zh) 2020-12-08

Family

ID=67083801

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910283606.3A Active CN109982086B (zh) 2019-04-10 2019-04-10 图像压缩方法及其装置

Country Status (2)

Country Link
US (1) US10984561B2 (zh)
CN (1) CN109982086B (zh)

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2002253893A1 (en) * 2001-01-30 2002-08-12 California Institute Of Technology Lossless and near-lossless source coding for multiple access networks
US7525552B2 (en) * 2004-04-21 2009-04-28 Slipstream Data Inc. Method, system and software product for color image encoding
US7660475B2 (en) * 2004-12-22 2010-02-09 Ntt Docomo, Inc. Method and apparatus for coding positions of coefficients
CN105828073B (zh) * 2009-07-02 2019-09-17 汤姆逊许可证公司 使用自适应树选择来对二进制集进行视频编解码的方法和装置
US10694210B2 (en) * 2016-05-28 2020-06-23 Microsoft Technology Licensing, Llc Scalable point cloud compression with transform, and corresponding decompression
US11632560B2 (en) * 2017-12-06 2023-04-18 V-Nova International Limited Methods and apparatuses for encoding and decoding a bytestream
EP3721625A1 (en) * 2017-12-06 2020-10-14 V-Nova International Limited Methods and apparatuses for hierarchically encoding and decoding a bytestream
CN108419086B (zh) * 2018-05-08 2019-04-05 北京理工大学 一种基于霍夫曼编码的图像压缩方法

Also Published As

Publication number Publication date
US20200327704A1 (en) 2020-10-15
US10984561B2 (en) 2021-04-20
CN109982086A (zh) 2019-07-05

Similar Documents

Publication Publication Date Title
TWI514779B (zh) 熵編碼技術
US20180076922A1 (en) Method and Apparatus for Encoding Data Using a Polar Code
KR100808664B1 (ko) 패리티 검사행렬 저장 방법 및 이를 이용한 블록 저밀도패리티 검사 부호화 방법 및 장치
CN1183683C (zh) 使用前缀预测的位自适应编码方法
CN113473127B (zh) 一种点云几何编码方法、解码方法、编码设备及解码设备
CN109286404B (zh) 一种Polar码编码方法及装置
CN107483059B (zh) 一种基于动态霍夫曼树的多路数据编解码方法及装置
KR20070026512A (ko) 컬러 이미지 인코딩을 위한 방법, 시스템 및 소프트웨어제품
CN109309503B (zh) 一种Polar码编码方法及装置
CN106849956B (zh) 压缩方法、解压缩方法、装置和数据处理***
JP2007215089A (ja) 復号装置及び復号方法
WO2021012278A1 (zh) 一种数据的处理方法、***、编码器及解码器
KR100484137B1 (ko) 개선된 허프만 디코딩 방법 및 장치
US20240223805A1 (en) Intra prediction method and device and computer-readable storage medium
CN109982086B (zh) 图像压缩方法及其装置
CN111384972A (zh) 多进制ldpc解码算法的优化方法、装置及解码器
CN113992303B (zh) 序列确定方法及装置、设备
EP3876424A1 (en) Decoding method, decoding device, and decoder
CN114978194B (zh) 适用于有损信源编码的原模图ldpc码的结构优化方法及装置
CN108631793B (zh) 一种构造编码序列的方法,装置
CN114760474A (zh) 视频编码方法及装置
Pai et al. High efficient distributed video coding with parallelized design for LDPCA decoding on CUDA based GPGPU
CN114430280A (zh) 一种译码方法及装置
US6069999A (en) Method for compressing and decompressing font data
CN111143641A (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
TR01 Transfer of patent right

Effective date of registration: 20210315

Address after: 201203 3rd floor, building 2, No. 200, zhangheng Road, Pudong New Area pilot Free Trade Zone, Shanghai

Patentee after: Gryfield Intelligent Technology Co.,Ltd.

Address before: Room 301, 2537 Jinke Road, Zhangjiang hi tech park, Shanghai 201203

Patentee before: VIA ALLIANCE SEMICONDUCTOR Co.,Ltd.

TR01 Transfer of patent right
CP03 Change of name, title or address

Address after: 201203, 11th Floor, Building 3, No. 889 Bibo Road, China (Shanghai) Pilot Free Trade Zone, Pudong New Area, Shanghai

Patentee after: Granfei Intelligent Technology Co.,Ltd.

Country or region after: China

Address before: 201203 3rd floor, building 2, No. 200, zhangheng Road, Pudong New Area pilot Free Trade Zone, Shanghai

Patentee before: Gryfield Intelligent Technology Co.,Ltd.

Country or region before: China