CN104519355B - 用于紧凑比特平面数据压缩的装置和方法 - Google Patents

用于紧凑比特平面数据压缩的装置和方法 Download PDF

Info

Publication number
CN104519355B
CN104519355B CN201410524830.4A CN201410524830A CN104519355B CN 104519355 B CN104519355 B CN 104519355B CN 201410524830 A CN201410524830 A CN 201410524830A CN 104519355 B CN104519355 B CN 104519355B
Authority
CN
China
Prior art keywords
bit
coefficient
planes
sequence
register
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
CN201410524830.4A
Other languages
English (en)
Other versions
CN104519355A (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.)
Samsung Display Co Ltd
Original Assignee
Samsung Display 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 Samsung Display Co Ltd filed Critical Samsung Display Co Ltd
Publication of CN104519355A publication Critical patent/CN104519355A/zh
Application granted granted Critical
Publication of CN104519355B publication Critical patent/CN104519355B/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/18Methods 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 set of transform coefficients
    • 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/102Methods 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/34Scalability techniques involving progressive bit-plane based encoding of the enhancement layer, e.g. fine granular scalability [FGS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods 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/436Methods 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 using parallelised computational arrangements
    • 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/93Run-length coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (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)
  • Image Processing (AREA)

Abstract

一种编码器包括多个寄存器并且被配置为:顺序地接收系数的阵列,每个系数被分解成位于该系数的多个相应比特位置处的多个比特;以及并发地操作每个系数的多个比特。

Description

用于紧凑比特平面数据压缩的装置和方法
相关申请的交叉引用
本专利申请要求2013年10月3日递交的标题为“Compact Bitplane CodingDesign for Fixed Bitrate Image and Video Compression”、序列号为61/886,580的美国临时申请以及2014年8月4日递交的序列号为14/451,150的美国非临时申请的优先权和权益,这里通过引用并入该临时申请的全部内容。
技术领域
本发明的实施例涉及用于数据压缩的装置和方法。
背景技术
数据压缩或者说源编码是计算中的一种普遍存在的过程,其涉及利用比原始表示更少的比特来对信息编码。数据可能因为各种原因而被压缩,例如包括减少资源使用,比如数据存储空间或传送容量。然而,因为数据压缩(例如,编码)要求有数据解压缩(例如,解码)才能使数据可使用,所以数据压缩要服从于空间与时间之间的平衡(例如,数据压缩可节省计算机空间,但也可由于解压缩而增加处理时间)。
数据压缩过程的设计还涉及其他考虑因素,包括压缩的程度、引入的失真的量(例如,当使用有损数据压缩时)以及用于对数据进行压缩和解压缩的计算资源。因此,一直需要能够在提高解压缩之后的数据准确性并且减少用于对数据进行压缩和解压缩的处理功率和时间的同时减小存储空间的数据压缩方案。
发明内容
本发明的实施例提供了一种用于数据压缩的比特平面编码的装置和方法,其减少了过程中使用的空间的量,同时增大了解压缩之后的数据精确度,并且同时减少了用于对数据压缩和解压缩的处理功率和时间(例如,是“紧凑的”)。
根据本发明的一个实施例,一种编码器包括多个寄存器并且被配置为:顺序地接收系数的阵列,每个系数被分解成位于该系数的多个相应比特位置处的多个比特;以及并发地操作每个系数的多个比特。
编码器还可被配置为,响应于检测到多个比特中的某一比特为0,将多个寄存器之中与多个比特位置中的与该比特相对应的比特位置相对应的寄存器增大1。
编码器还可被配置为,响应于检测到多个比特中的该比特为1,通过对与对应于该比特的比特位置相对应的寄存器的值编码来生成编码码元。
编码器还可被配置为,响应于检测到多个比特中的该比特为1,将与对应于该比特的比特位置相对应的寄存器复位到零。
与对应于该比特的比特位置相对应的寄存器的值可表示该比特位置的零游程。
每个系数的比特位置可形成多个相应的比特平面级别,并且编码器还可被配置为生成包括多个编码码元的多个编码比特平面级别。
编码器还可被配置为,响应于检测到系数的序列的结束,向多个编码比特平面级别发送多个序列结束(EOS)信号。
编码器还可被配置为,响应于检测到系数的序列的结束,将多个寄存器复位到零。
多个比特位置中的第一比特位置可表示每个系数的符号。
根据本发明的另一实施例,一种解码器被配置为:接收布置在多个比特平面中的编码码元序列,每个比特平面对应于多个系数的比特位置;读取编码码元序列中的与多个比特平面中的某一比特平面相对应的编码码元;响应于检测到该编码码元是游程值,输出数目等于游程值的0比特比特;以及在输出该数目的0比特比特之后,输出1比特。
解码器还可被配置为,响应于检测到编码码元是序列结束(EOS)码元,读取编码码元序列的与多个比特平面中的下一比特平面相对应的下一编码码元。
解码器还可被配置为,响应于检测到EOS码元对应于多个比特平面中的最末比特平面,接收另一编码码元序列。
根据本发明的另一实施例,一种利用包括多个寄存器的编码器进行编码的方法包括:顺序地接收系数的阵列,每个系数被分解成位于该系数的多个相应比特位置处的多个比特;以及并发地操作每个系数的多个比特。
该方法还可包括:响应于检测到多个比特中的某一比特为0,将与多个比特位置中的与该比特相对应的比特位置相对应的寄存器增大1。
该方法还可包括:响应于检测到多个比特中的该比特为1,通过对与对应于该比特的比特位置相对应的寄存器的值编码来生成编码码元。
该方法还可包括:响应于检测到多个比特中的该比特为1,将寄存器复位到零。
寄存器的值可表示比特位置的零游程。
每个系数的比特位置可形成多个相应的比特平面级别,并且该方法还可包括生成包括多个编码码元的多个编码比特平面级别。
该方法还可包括:响应于检测到系数的序列的结束,向多个编码比特平面级别发送多个序列结束(EOS)信号。
该方法还可包括:响应于检测到系数的序列的结束,将多个寄存器复位到零。
多个比特位置中的第一比特位置可表示每个系数的符号。
附图说明
通过参考附图详细描述其示例实施例,本发明的实施例的上述和其他方面将变得更清楚,附图中:
图1是示出根据本发明的实施例的编码过程的流程图;
图2是示出根据本发明的实施例的编码系统的示意性框图;
图3是示出根据本发明的实施例的解码过程的流程图;并且
图4是示出根据本发明的实施例的解码系统的示意性框图。
具体实施方式
以下,将参考附图更充分地描述本发明的实施例,附图中示出了本发明的示例实施例。正如本领域技术人员将会认识到的,描述的实施例容许各种修改和替换形式,而不脱离本发明的精神或范围。为了清晰描述本发明,可省略对于完整理解本发明并非必需的一些元素或特征。
本说明书中使用的术语是用于描述特定实施例,而并不打算限制本发明。例如,将会理解,虽然术语“第一”、“第二”等等在本文中可用于描述各种元素,但这些元素将不受这些术语的严格解释所限制。反而,这些术语只是用于将一个组件与另一组件相区分。另外,以单数使用的表述涵盖了复数的表述,除非其在上下文中具有明显不同的含义。在本说明书中,要理解诸如“包括”、“包含”、“具有”等等之类的术语打算指示说明书中公开的特征、数字、步骤、动作、组件、部件或其组合的存在,而并不打算排除可存在或者可添加一个或多个其他特征、数字、步骤、动作、组件、部件或其组合的可能性。
将会理解,当一元素或层被称为“在另一元素或层上”、“连接到另一元素或层”或者“耦合到另一元素或层”时,其可直接在该另一元素或层上、直接连接到该另一元素或层或者直接耦合到该另一元素或层,或者也可存在一个或多个居间的元素或层。当一元素被称为“直接在另一元素或层上”、“直接连接到另一元素或层”或者“直接耦合到另一元素或层”时,则没有居间的元素或层存在。相似的数字始终指代相似的元素。当在本文中使用时,术语“和/或”包括关联的列出项目中的一个或多个的任何以及所有组合。
空间相关术语,例如“在…下面”、“在…下方”、“下部的”、“在…上方”、“上部的”等等,在本文中为了易于描述可用于描述如附图所示的一个元素或特征与另外(一个或多个)元素或(一个或多个)特征的关系。将会理解,除了附图中描绘的方位之外,这些空间相关术语还打算涵盖使用或操作中的设备的不同方位。例如,如果图中的设备被翻过来,则被描述为在其他元素或特征“下面”或“下方”的元素的方位于是将是在其他元素或特征的“上方”或“上面”。从而,示例术语“下方”可涵盖上方和下方两个方位。设备可以有其他的方位(例如,旋转90度或处于其他方向),并且本文使用的空间相关描述语应当被相应地解读。
除非另有定义,否则本文使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域的普通技术人员通常所理解相同的含义。还将理解,术语——例如常用的字典中定义的那些——应当被解读为具有与其在相关技术的上下文中的含义一致的含义,而不应被以理想化或过度正式的意义来解读,除非本文明确地这样定义。另外,当描述本发明的实施例时,对“可”的使用涉及“本发明的一个或多个实施例”。
附图中相似的标号表示相似的元素,并且对其的重复描述可被省略。
用于图像和视频的压缩的典型数据压缩方案涉及首先将原始像素数据转化成变换系数。例如,块内数据或残余块间数据可首先被利用一些二维变换从像素强度值变换成频率系数,所述二维变换例如是离散余弦变换(discrete cosine transform,DCT)、哈达玛(Hadamard)变换、小波或者本领域技术人员已知的任何其他适当的变换过程。作为示例,原始的照片图像可被变换成二维N x N块(例如,8x8块),并且DCT公式可被应用到覆盖图像的N x N矩阵的每一行和列,以使得每个块具有相应的变换系数。在其他实施例中,可以有对应于每一块的多个变换系数。
变换系数随后被根据其相应的重要性来量化或加权,以使得许多或大部分的变换系数变成具有零值的量化系数。接下来,按照设定或预定的顺序(例如,按Z字形顺序)利用一些可变长度熵编码方法(例如,静态、自适应、哈夫曼编码、算术编码或者本领域技术人员已知的任何其他适当的熵编码方法)来对量化值或系数编码。这个过程的结果可以是与原始的未压缩数据相对应的编码比特流。在其他示例中,可以首先将原始图像划分成分区,并且对原始图像的每个分区执行上述的压缩过程。
例如,给定变换系数的有序序列,编码器通过基于一些量化阈值(例如,量化器)调节值来调整数据大小。然后,量化系数被转化成1)连续零的数目(例如,游程)和2)非零绝对值和符号的对的码元。接下来,经由一些熵编码来打包零的游程或者系数的量化或近似的非零值。
作为示例,可根据上述过程来压缩以下的有序的16个量化数字:
14,0,0,0,5,-3,0,0,0,0,0,0,9,0,-1,0
上述过程的第一步将这个序列转化成游程、绝对值和符号,如下:
(1)r=0,a=14,s=0.(2)r=3,a=5,s=0.(3)r=0,a=3,s=1.(4)r=6,a=9,s=0.(5)r=1,a=1,s=1;EOS
参考上述内容,r、a和s分别指的是游程、绝对值和符号,并且EOS指的是序列的结束。因为第一量化数字是非零的(即,14),所以没有在先的零游程,并且因此r=0,并且因为非零数字具有值14并且是正数,所以a=14(指示绝对值)并且s=0(指示符号为正)。接下来,在第一量化数字之后、在到达另一非零系数(即,5)之前有三个零。因此,对于第二组值,r=3(指示3个数字的零游程),a=5(指示序列中的下一非零数字具有值5),并且s=0(指示该非零值为正)。组织量化数字的序列的这个过程继续,直到达到如EOS指示的序列末尾。然后,利用本领域技术人员已知的任何适当的熵编解码器或编码方案来对r、a和s值的序列编码。例如,可以使用利用如前所述的编码方案(例如,静态、自适应、哈夫曼编码、算术编码或者任何其他适当的熵编码方法)之一的适当编码器。
总之,上述过程基于非零系数在序列内的位置并且基于非零系数之间的零的数目来组织或打包量化数字的序列。因此,该过程能够将序列的信息转化成游程、绝对值和符号指示符的序列,从而允许了减少存储和提高效率。转化的序列(例如,从量化系数的序列转化来的游程、绝对值和符号的序列)随后被适当地编码。
这个数据压缩算法允许了编码器和解码器两者都被构建为状态机(例如,系数被输入并且比特被输出)。
为了实现固定的目标比特容量,或者允许对最终编码比特流的限制或上限(例如,每比特流256比特的限制),系数可被切割成比特平面,其中最高有效比特被首先熵编码,接下来是较低有效比特,每当达到目标大小时编码数据即结束。换言之,替代的典型单遍过程可包括在独立的比特平面中存储系数的绝对值,其中每个比特平面表示每个系数的单个比特地点或比特位置(例如,8比特的比特平面)。这个过程从最高有效高比特位置到最低有效低比特位置打包数据,以使得更高有效的比特被打包,直到达到预分配的数据大小为止(例如,与图像的每个块相对应的预分配数据)。
使用预分配数据大小的典型单遍数据压缩过程开始于将系数条目转化成绝对值和符号信息的对,从而对于与系数的符号相对应的比特位置和与系数的加起来等于系数的绝对值的比特(例如,幅值比特)相对应的比特位置创建比特平面。接下来,可通过对系数的符号进行编码来生成第一比特平面,形成表示符号的比特平面。接下来,可以一次一个地从最高有效比特到最低有效比特对系数的绝对值的比特平面编码。并且对于每个比特平面,一(即,等于1的比特)之间的零的游程提供实际编码码元。
作为示例,与上述相同的系数序列将用于描述此编码方案:
14,0,0,0,5,-3,0,0,0,0,0,0,9,0,-1,0
当前描述的算法首先将上述系数序列转换成符号比特和绝对值比特的比特平面,总计一共5个比特平面,如以下表1中所示:
表1
系数: 14 0 0 0 5 -3 0 0 0 0 0 0 9 0 -1 0
符号: 0 - - - 0 1 - - - - - - 0 - 1 -
8: 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
4: 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
2: 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
1: 0 0 0 0 1 1 0 0 0 0 0 0 1 0 1 0
表1示出了5个得出的比特平面:符号比特平面、8比特比特平面、4比特比特平面、2比特比特平面和1比特比特平面。符号比特平面包含与每个系数的符号有关的信息(例如,当符号为正时是0比特,并且当符号为负时是1比特)。其余的幅值或绝对值比特平面在相应的系数包括该比特值时包含1,使得四个绝对值比特平面可被垂直地相加以等于相应系数的幅值。例如,系数-3被解析为符号比特平面中的1比特、2比特比特平面中的1比特和1比特比特平面中的1比特,从而指示出该系数为负并且具有为3的绝对值(即,1+2=3)。
接下来,依赖于每个比特平面中存在的1比特和1比特之间的零比特的游程,压缩方案对符号比特平面和四个绝对值比特平面编码。该过程可利用本领域技术人员已知的任何适当的熵编解码器或编码方案来对比特平面数据编码。对比特平面编码,直到达到目标数据大小为止。以下的表2示出了对表1的值编码的结果。
表2
符号: 5 8 EOS <sub>-</sub> <sub>-</sub>
8: 0 11 EOS - -
4: 0 3 EOS - -
2: 0 4 EOS - -
1: 4 0 6 1 EOS
参考表2,经编码的8比特比特平面首先包括“0”,因为该比特平面的第一比特包含“1”。8比特比特平面的接下来的编码值是“11”,指示出下一个1比特值之前的11个零的游程。最后,因为没有更多接下来的1比特,所以经编码的8比特比特平面在“11”之后包括EOS。
经编码的4比特比特平面首先包括“0”,因为该比特平面的第一比特包含“1”。4比特比特平面的接下来的编码值是“3”,指示出下一个1比特值之前的3个零的游程。最后,因为没有更多接下来的1比特,所以经编码的4比特比特平面在“3”之后包括EOS。
经编码的2比特比特平面首先包括“0”,因为该比特平面的第一比特包含“1”。2比特比特平面的接下来的编码值是“4”,指示出下一个1比特值之前的4个零的游程。最后,因为没有更多接下来的1比特,所以经编码的2比特比特平面在“4”之后包括EOS。
经编码的1比特比特平面首先包括“4”,因为该比特平面的前4个比特中的每一个是“0”。1比特比特平面的接下来的编码值是“0”,指示出在下一个1比特值之前的没有零的游程。1比特比特平面的接下来的编码值是“6”,指示出下一个1比特值之前的6个零的游程。1比特比特平面的接下来的编码值是“1”,指示出下一个1比特值之前的一个零的游程。最后,因为没有更多接下来的1比特,所以经编码的1比特比特平面在“1”之后包括EOS。
虽然上述使用比特平面的编码方法对于图像的块允许了固定数据大小,但所描述的比特平面压缩方法使用了缓冲存储器来存储所有系数数据,因为该过程被顺序地执行。
图1是示出根据本发明的实施例的编码过程的流程图。
参考图1,根据本发明的示例实施例的编码过程的流程图100示出了该过程开始于系数,到比特平面的生成,再到编码,并且结束于最终编码比特流。编码过程100在102开始于一系列量化系数。编码过程100利用了若干个寄存器(例如,图2的寄存器204)。寄存器包括符号寄存器和表示比特的不同幅值的比特寄存器。例如,寄存器可包括用于1比特、2比特、4比特和8比特的寄存器,得到包括符号寄存器在内的总共五个寄存器(即,四个比特寄存器和一个符号寄存器)。根据本实施例的编码器不是如上所述为所有系数创建比特平面,而是通过分解每个系数条目并且并行地对所有比特编码来操作的。
每个系数的分解以与上文联系表2描述的方式类似的方式发生。这样,102处的量化系数的每一个采取表2所示的形式,其中每个系数具有符号比特参数和幅值比特参数。每个系数的分解包括将该系数组织成符号比特(例如,“s”)和相应的幅值比特(例如,“aK...a1,a0”)。
编码过程100通过对输入到过程100中的系数序列中的第一系数进行操作或打包来工作。在第一系数之后,编码过程100转移到系数序列102中的下一系数并且重复该过程直到没有系数剩余为止。符号和幅值比特可由相应的寄存器表示(例如,rs,raK...ra1,ra0)。
在步骤104,编码器确定被操作的系数的符号比特“s”是否为0(例如,系数的符号是否为正)。当系数的符号比特等于0时(例如,当系数的符号为正时),与符号比特相关联的寄存器rs在步骤106被增大1。另一方面,当系数的符号比特s不是0时(例如,当符号比特等于1时,这指示出该系数为负),符号寄存器rs在步骤108被编码并且符号寄存器rs被复位到0。编码可执行为本领域技术人员已知的任何适当的编码方法,例如任何上述的编码方法(例如,静态、自适应、哈夫曼编码、算术编码或者任何其他适当的熵编码方法)。
并发地,被操作的系数的幅值比特aK...a1,a0经历相同的处理。例如,在步骤110,编码器确定被操作的系数的表示最大比特幅值的比特aK是否为0(例如,该系数是否包括该比特幅值)。最大幅值比特aK根据本发明的实施例可以是任何适当的幅值(例如,aK可表示幅值8)。当系数的最大幅值比特等于0时,与最大幅值比特相关联的寄存器raK在步骤112被增大1。另一方面,当系数的最大幅值比特不为0时(例如,当最大幅值比特等于1时),在步骤114,最大幅值比特寄存器raK被编码并且该寄存器被复位到0。对系数的剩余比特类似地执行这个操作。在本发明的一些实施例中,在对系数的序列进行操作之前,将寄存器初始化到0。
在对系数序列中的系数进行操作之后,在步骤116,编码过程100确定系数序列中是否有下一系数。在步骤118,当在系数序列中有下一系数时,过程返回到102处的系数序列以取回分解的下一系数,并且编码器按与上述相同的方式对下一系数的比特并行地(例如,并发或者同时地)操作。
分解的系数的比特被编码成相应的编码比特流120,每个比特流对应于构成每个系数的相应比特位置(例如,一编码比特流对应于系数的符号比特,一编码比特流对应于系数的最大幅值比特aK,等等)。
在步骤122,如果在系数序列中没有下一个系数,则编码器发送序列结束(end ofsequence,EOS)信号并且将所有寄存器复位到0。在步骤124,编码器对于表示另一数据块(例如,图像的另一数据块)的另一系数序列重复该编码过程。并发地(例如,同时地),在步骤130,编码器对被编码器编码(108)的编码比特流进行合并,从而得到编码比特流126。表示符号比特和比特平面的编码比特流被并行地交织或者串行地合并。编码过程可继续,直到已对所有数据块编码为止。
作为示例,系数的序列可包括以上表1的序列:14,0,0,0,5,-3,0,0,0,0,0,0,9,0,-1,0。根据本发明的实施例,不是显式地转换五个比特平面(例如,符号比特平面、8比特比特平面、4比特比特平面、2比特比特平面和1比特比特平面),而是维持与五个比特平面相对应的五个寄存器(例如,r_s、r_8、r_4、r_2和r_1)。五个寄存器跟踪每个比特平面中的零游程。本发明的实施例可利用分解的系数,例如,被分解成比特的系数,如以上表1中所示。
编码过程开始于序列中的第一系数(即,14)。因为与系数14相对应的符号比特和1比特中的每一个为0,所以相应的寄存器r_s和r_1被增大1。另外,因为与系数14相对应的8比特、4比特和2比特中的每一个为1,所以相应的寄存器r_8、r_4和r_2被编码并且被复位到0(在此情况下,被维持在0)。
过程随后转移到下一系数,0。因为所有比特都是0,所以寄存器r_s、r_8、r_4、r_2和r_1中的每一个被增大1。因为下一系数也是0,所以所有寄存器再次被增大1。再次,因为下一系数也是0,所以所有寄存器再次被增大1。第三个0之后的下一系数是5。因为与系数5相对应的符号比特、8比特和2比特中的每一个是0,所以相应的寄存器r_s、r_8和r_2被增大1。另外,因为与系数5相对应的4比特和1比特中的每一个是1,所以相应的寄存器r_4和r_1被编码并复位到0。在此情况下,因为在过程中的这个点r_4=3并且r_1=4,所以这些存储的值被编码,并且r_4和r_1被复位到0。
下一系数是-3。因为与系数3相对应的8比特和4比特中的每一个是0,所以相应的寄存器r_8和r_4被增大1。另外,因为与系数-3相对应的符号比特、2比特和1比特中的每一个是1,所以相应的寄存器r_s、r_2和r_1被编码并复位到0。在此情况下,因为在过程中的这个点r_s=5、r_2=4并且r_1=0,所以这些存储的值被编码,并且r_s、r_2和r_1被复位到0(或者维持在0)。该过程继续,直到系数的序列结束为止。下面针对序列中的前六个系数总结根据本发明的实施例的这个描述的编码过程:
14:r_s+=1,r_1+=1;编码:r_8=0,r_4=0,以及r_2=0
0:r_s+=1,r_8+=1,r_4+=1,r_2+=1,以及r_1+=1
0:r_s+=1,r_8+=1,r_4+=1,r_2+=1,以及r_1+=1
0:r_s+=1,r_8+=1,r_4+=1,r_2+=1,以及r_1+=1
5:r_s+=1,r_8+=1,r_2+=1;编码:r_4=3以及r_1=4;复位:r_4=r_1=0
-3:r_8+=1,r_4+=1;编码:r_s=5,r_2=4,以及r_1=0;复位:r_s=r_2=r_1=0
图2是示出根据本发明的实施例的编码系统的示意性框图。
参考图2,编码系统200开始于输入到变换器202中的图像数据。图像数据可包含红-绿-蓝(RGB)像素信息。图像数据可对应于静止图片或者可对应于运动图像或视频(例如,视频的帧)。变换器202将图像数据转换成变换系数。变换器202可利用本领域技术人员已知的任何适当的变换技术来操作,例如离散余弦变换(DCT)、哈达玛变换、小波,等等。在本发明的一些实施例中,变换系数与以上联系图1描述的系数类似。
变换系数被发送到与编码的比特平面相对应的多个寄存器204。寄存器204用于组织和打包变换系数。寄存器204可按照希望或需要包括任何适当数目的寄存器。在本实施例中,编码比特平面寄存器包括五个寄存器:符号寄存器(r_s)、8比特寄存器(r_8)、4比特寄存器(r_4)、2比特寄存器(r_2)和1比特寄存器(r_1)。寄存器204被配置为跟踪关于每个系数的信息,如以上联系图1所述。在本发明的实施例中,寄存器204并行地(例如,并发地或同时地)组织每个系数的比特。换言之,寄存器204跟踪与每个变换系数相关联的信息,以使得一旦系数被操作,该系数就可被丢弃并且该系数不需要被存储在中间存储器中。
随着寄存器204打包变换系数,一些寄存器204的值被编码,例如每当寄存器遇到1比特时。要被编码的这些寄存器的值被发送到编码器206。编码器206输出编码比特流,如以上参考图1所述。编码比特流是与发送到变换器202的未压缩或原始图像像素数据相对应的编码或压缩数据。编码比特流被存储在存储器208中,使得在希望时可以访问它来进行解码,或者其要被发送到另一设备的解码器。
本领域普通技术人员将会认识到,变换器模块和编码器模块可被组合成单个模块或划分成其他子模块。每个模块可经由被配置为执行变换器和编码器模块的指定功能的一个或多个专用集成电路(ASIC)、现场可编程门阵列(FPGA)、编程的微处理器等等来实现。例如,微处理器可耦合到存储计算机指令的存储器,这些计算机指令当被微处理器执行时允许指定的功能发生。另外,在一些实施例中,寄存器和编码器被并入在单个模块中。
图3是示出根据本发明的实施例的解码过程的流程图。
参考图3,根据本实施例的对压缩或编码信息的解码过程300开始于编码比特流302。编码比特流302可根据本发明的实施例来创建,例如根据图1所示的本发明的实施例来创建。编码比特流被存储在一些指定的存储器中并且按比特平面顺序表示最终编码值(例如,表2的从左到右的水平扫描顺序)。编码比特流可例如是通过传送介质来接收的。
解码过程300对存储的编码比特流302进行拆包或解压缩。解码过程300对包括编码码元的序列的编码比特流进行解析。在步骤304,编码比特流中的编码码元被读取或检测。在步骤306,确定编码码元是否是EOS码元,EOS码元指示比特平面的序列的结束。
当未检测到EOS码元时,在步骤308,读取或检测游程r。游程r等于编码码元的值(例如,为5的编码码元表示5比特的游程)。游程r指的是特定比特平面中的连续零的数目。在读取编码码元的游程r之后,在步骤310,跳过r地点或位置(即,游程的值)并且将r比特之后的下一比特设定为1比特。以0输出被跳过的地点或位置的比特值。游程r沿着特定比特平面水平地发生。例如,当读取与8比特比特平面相对应的为5的编码码元时,沿着8比特比特平面的5个零被放置或输出,并且5个零之后的第六比特位置被设定为1比特。在读取游程r之后,在步骤312,读取被操作的比特平面的下一编码码元,并且过程在步骤304以下一编码码元重新开始。
当解码过程300检测到EOS码元时,过程300接下来在步骤314确定检测到的EOS是否对应于比特平面的最末级别。在步骤316,当EOS不对应于最末比特平面级别时,解码过程300前进到下一比特平面级别。另一方面,在步骤318,当EOS对应于最末比特平面级别时,解码器前进到下一块编码数据并且在步骤304开始通过读取下一块的第一编码码元来拆包该数据。下一块数据可对应于图像的下一块。
例如,编码比特流可按顺序具有表3所示的信息:
表3
符号: 5 8 EOS
8: 0 11 EOS
4: 0 3 EOS
2: 0 4 EOS
注意,此信息与以上表2中的信息类似,只不过1比特比特平面信息不再可用。如上所述,本发明的实施例允许了固定数据大小编码,并且因此,由于固定数据大小约束,在对2比特比特平面编码之后满足数据容量时,可不对1比特比特平面编码。因此,1比特比特平面信息不被编码并且不被存储来供解码阶段可用。在其他实施例中,在编码阶段可以遵守不同的固定数据容量,例如在最终编码比特流中可不包括2比特比特平面和1比特比特平面。
根据本实施例,从顶部比特平面级别到底部比特平面级别(例如,最末比特平面)水平地跨每个比特平面对上述编码比特流解码。根据本实施例的解码器将编码码元水平地分割成包括比特而不是编码码元的比特平面,从而生成以下表4中所示的结果。
表4
符号: 0 - - - 0 1 - - - - - - 0 - 1 -
8: 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
4: 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
2: 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
在对比特平面垂直地分组之后,得到以下系数序列:
14,0,0,0,4,-2,0,0,0,0,0,0,8,0,0,0
当与表1中所示的原始系数相比较时,由于在编码阶段丢弃1比特比特平面而有略微的差异,但结果仍是相似的,同时具有在比特平面级别实现固定数据限制的能力并且同时节省了存储器。例如,根据本发明的实施例的编解码器设计对于编码器可具有少于40,000的综合门计数,并且对于解码器可具有少于60,000的综合门计数。因此,与传统的视频和图像编解码器相比,本发明的实施例可提供低10倍的计算复杂度。
图4是示出根据本发明的实施例的解码系统的示意性框图。
参考图4,解码系统400访问存储在存储器408中的编码比特流(例如,包括编码码元的比特平面)。编码比特流被发送到熵解码器402,熵解码器402被配置为对编码比特流进行解码或拆包并且生成解码系数(例如,包括与系数的符号和幅值相对应的比特的比特平面)。压缩或编码的数据可根据本发明的实施例被解压缩或解码,例如根据联系图3描述的方法被解压缩或解码。解码的系数被发送到转换器404,转换器404被配置为将解码系数转换成解码图像(例如,通过添加比特平面的垂直列,如上所述)。例如,解码图像可以是用于显示的图像,供最终用户在计算机处使用。
本领域普通技术人员将会认识到,解码器模块和转换器模块可被组合成单个模块或划分成其他子模块。每个模块可经由被配置为执行解码器和转换器模块的指定功能的一个或多个ASIC、FPGA、编程的微处理器等等来实现。例如,微处理器可耦合到存储计算机指令的存储器,这些计算机指令当被微处理器执行时允许指定的功能发生。
根据本发明的实施例的编码器和解码器可被利用在多种应用中。例如,本发明的实施例可实现在显示面板、蜂窝电话、计算机和想要数据压缩的其他设备中。
虽然已联系某些示例实施例描述了本发明,但要理解本发明不限于公开的实施例,而是相反,打算覆盖所附权利要求及其等同物的精神和范围内包括的各种修改和等同布置。

Claims (15)

1.一种编码器,包括多个寄存器并且被配置为:
顺序地接收系数的阵列,每个所述系数被分解成位于该系数的多个相应比特位置处的多个比特;以及
并发地操作每个所述系数的多个比特,
响应于检测到所述多个比特中的某一比特为0,将所述多个寄存器之中与所述多个比特位置中的与该比特相对应的比特位置相对应的寄存器增大1,
响应于检测到所述多个比特中的该比特为1,通过对与对应于该比特的比特位置相对应的寄存器的值编码来生成编码码元,
将与对应于该比特的比特位置相对应的寄存器复位到零。
2.如权利要求1所述的编码器,其中,与对应于该比特的比特位置相对应的寄存器的值表示该比特位置的零游程。
3.如权利要求1所述的编码器,其中,每个系数的比特位置形成多个相应的比特平面级别,并且其中,所述编码器还被配置为生成包括多个编码码元的多个编码比特平面级别。
4.如权利要求3所述的编码器,其中,所述编码器还被配置为,响应于检测到系数的序列的结束,向所述多个编码比特平面级别发送多个序列结束(EOS)信号。
5.如权利要求4所述的编码器,其中,所述编码器还被配置为,响应于检测到系数的序列的结束,将所述多个寄存器复位到零。
6.如权利要求1所述的编码器,其中,所述多个比特位置中的第一比特位置表示每个系数的符号。
7.一种解码器,被配置为:
接收布置在多个比特平面中的编码码元序列,每个所述比特平面对应于多个系数的比特位置;
读取所述编码码元序列中的与所述多个比特平面中的某一比特平面相对应的编码码元;
响应于检测到所述编码码元是游程值,输出数目等于所述游程值的0比特比特;以及
在输出所述数目的0比特比特之后,输出1比特。
8.如权利要求7所述的解码器,其中,所述解码器还被配置为,响应于检测到所述编码码元是序列结束(EOS)码元,读取所述编码码元序列的与所述多个比特平面中的下一比特平面相对应的下一编码码元。
9.如权利要求8所述的解码器,其中,所述解码器还被配置为,响应于检测到所述序列结束码元对应于所述多个比特平面中的最末比特平面,接收另一编码码元序列。
10.一种利用包括多个寄存器的编码器进行编码的方法,该方法包括:
顺序地接收系数的阵列,每个所述系数被分解成位于该系数的多个相应比特位置处的多个比特;以及
并发地操作每个所述系数的多个比特,
响应于检测到所述多个比特中的某一比特为0,将与所述多个比特位置中的与该比特相对应的比特位置相对应的寄存器增大1,
响应于检测到所述多个比特中的该比特为1,通过对与对应于该比特的比特位置相对应的寄存器的值编码来生成编码码元,
将所述寄存器复位到零。
11.如权利要求10所述的方法,其中,所述寄存器的值表示所述比特位置的零游程。
12.如权利要求10所述的方法,其中,每个系数的比特位置形成多个相应的比特平面级别,并且其中,所述方法还包括生成包括多个编码码元的多个编码比特平面级别。
13.如权利要求12所述的方法,还包括:响应于检测到系数的序列的结束,向所述多个编码比特平面级别发送多个序列结束(EOS)信号。
14.如权利要求13所述的方法,还包括:响应于检测到系数的序列的结束,将所述多个寄存器复位到零。
15.如权利要求10所述的方法,其中,所述多个比特位置中的第一比特位置表示每个系数的符号。
CN201410524830.4A 2013-10-03 2014-10-08 用于紧凑比特平面数据压缩的装置和方法 Active CN104519355B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201361886580P 2013-10-03 2013-10-03
US61/886,580 2013-10-03
US14/451,150 2014-08-04
US14/451,150 US9813718B2 (en) 2013-10-03 2014-08-04 Apparatus and method for compact bit-plane data compression

Publications (2)

Publication Number Publication Date
CN104519355A CN104519355A (zh) 2015-04-15
CN104519355B true CN104519355B (zh) 2019-06-04

Family

ID=51589158

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410524830.4A Active CN104519355B (zh) 2013-10-03 2014-10-08 用于紧凑比特平面数据压缩的装置和方法

Country Status (8)

Country Link
US (1) US9813718B2 (zh)
EP (1) EP2858370A1 (zh)
JP (1) JP6480695B2 (zh)
KR (1) KR102219133B1 (zh)
CN (1) CN104519355B (zh)
AU (1) AU2014227492B2 (zh)
IN (1) IN2014MU03062A (zh)
TW (1) TWI626843B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10602192B2 (en) * 2016-02-04 2020-03-24 Mediatek Inc. Methods and apparatuses for performing entropy encoding and entropy decoding with size determination of at least one bitstream portion
US20170311003A1 (en) * 2016-04-20 2017-10-26 Mediatek Inc. Method and apparatus for performing entropy encoding with sign data removal and associated method and apparatus for performing entropy decoding with sign data recovery
US10909926B2 (en) * 2018-05-08 2021-02-02 Apple Inc. Pixel circuitry and operation for memory-containing electronic display
CN114118177B (zh) * 2022-01-24 2022-04-26 广东工业大学 一种基于奇异谱分析的位平面降噪方法、系统及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1398116A (zh) * 2001-07-12 2003-02-19 三洋电机株式会社 图像编码设备与图像编码方法
CN1564199A (zh) * 2004-04-07 2005-01-12 西安交通大学 实时截断的jpeg2000速率控制方法
CN102045565A (zh) * 2009-10-21 2011-05-04 索尼公司 编码装置和编码方法
CN103179389A (zh) * 2011-12-21 2013-06-26 索尼公司 图像处理设备和图像处理方法

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4420771A (en) * 1981-02-09 1983-12-13 Bell Telephone Laboratories, Incorporated Technique for encoding multi-level signals
US4941124A (en) * 1982-01-25 1990-07-10 Skinner Jr James T Text comparator with counter shift register
JPH02131671A (ja) * 1988-11-11 1990-05-21 Casio Comput Co Ltd 画像データ圧縮方法
GB2325584B (en) * 1997-05-01 2000-03-29 Ricoh Kk Decompression system using inverse wavelet transform
JP4054430B2 (ja) * 1998-03-06 2008-02-27 キヤノン株式会社 画像処理装置及び方法及び記憶媒体
KR19990075483A (ko) 1998-03-20 1999-10-15 윤종용 비트 평면 압축장치 및 비트 평면 압축/복원 방법
JP3695330B2 (ja) * 2000-12-26 2005-09-14 株式会社デンソー 画像圧縮方法及び装置、記録媒体
US20020122483A1 (en) * 2001-03-02 2002-09-05 Matsushita Electric Industrial Co., Ltd. Encoding circuit and method
US6650784B2 (en) * 2001-07-02 2003-11-18 Qualcomm, Incorporated Lossless intraframe encoding using Golomb-Rice
US7418146B2 (en) * 2004-02-10 2008-08-26 Sanyo Electric Co., Ltd. Image decoding apparatus
JP4510678B2 (ja) * 2005-03-29 2010-07-28 株式会社Kddi研究所 映像伝送装置および映像伝送・受信再生装置
DE102007020292A1 (de) 2007-04-30 2008-11-13 Siemens Ag Verfahren zur Komprimierung von Daten unter Verwendung einer Lauflängen-Kodierung insbesondere für medizinische Bilddaten
KR101375662B1 (ko) 2007-08-06 2014-03-18 삼성전자주식회사 이미지 데이터 압축 방법 및 장치
KR100928324B1 (ko) 2007-10-02 2009-11-25 주식회사 아이브이넷 압축된 동영상을 복원하기 위한 프레임 버퍼 메모리 운영방법 및 이에 적합한 디코딩 장치
JP5018582B2 (ja) * 2008-03-21 2012-09-05 沖電気工業株式会社 予測値生成装置、予測値生成方法及び復号装置
US8477845B2 (en) * 2009-10-16 2013-07-02 Futurewei Technologies, Inc. Predictive adaptive scan ordering for video coding
JP2011091575A (ja) * 2009-10-21 2011-05-06 Sony Corp 符号化装置および方法
US9008181B2 (en) * 2011-01-24 2015-04-14 Qualcomm Incorporated Single reference picture list utilization for interprediction video coding
GB2496197A (en) * 2011-11-07 2013-05-08 Sony Corp Frequency Domain Video Data Reordering for Encoding
US20130188741A1 (en) * 2012-01-21 2013-07-25 General Instrument Corporation Devices and methods for sample adaptive offset coding and/or selection of band offset parameters

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1398116A (zh) * 2001-07-12 2003-02-19 三洋电机株式会社 图像编码设备与图像编码方法
CN1564199A (zh) * 2004-04-07 2005-01-12 西安交通大学 实时截断的jpeg2000速率控制方法
CN102045565A (zh) * 2009-10-21 2011-05-04 索尼公司 编码装置和编码方法
CN103179389A (zh) * 2011-12-21 2013-06-26 索尼公司 图像处理设备和图像处理方法

Also Published As

Publication number Publication date
TW201528786A (zh) 2015-07-16
TWI626843B (zh) 2018-06-11
AU2014227492A1 (en) 2015-04-23
US9813718B2 (en) 2017-11-07
KR102219133B1 (ko) 2021-02-23
US20150098498A1 (en) 2015-04-09
KR20150039680A (ko) 2015-04-13
CN104519355A (zh) 2015-04-15
IN2014MU03062A (zh) 2015-10-09
EP2858370A1 (en) 2015-04-08
JP2015073274A (ja) 2015-04-16
AU2014227492B2 (en) 2018-08-23
JP6480695B2 (ja) 2019-03-13

Similar Documents

Publication Publication Date Title
RU2504103C1 (ru) Способ и устройство для кодирования и декодирования изображения посредством использования вращательного преобразования
TWI471013B (zh) 轉換式數位媒體編解碼器之計算複雜度及精確性控制
US20130016789A1 (en) Context modeling techniques for transform coefficient level coding
KR100723411B1 (ko) 멀티 코덱용 변환 장치 및 방법과 멀티 코덱용 역변환 장치및 방법
KR101426272B1 (ko) 영상 부호화장치 및 영상 복호화장치
CN108028931A (zh) 用于视频编解码的自适应帧间预测的方法及装置
CN102378991B (zh) 用于编码的数据中的压缩增益的压缩域系统和方法
CN104519355B (zh) 用于紧凑比特平面数据压缩的装置和方法
CN105791839A (zh) 在hevc中的采样自适应偏移中的灵活带偏移模式
RU2518932C2 (ru) Уменьшенное рассогласование коэффициентов усиления постоянной состовляющей (dc) и dc-утечки при обработке преобразования с перекрытием
CN108200439A (zh) 提高数字信号变换性能的方法及数字信号变换方法和装置
CN105163130B (zh) 一种基于离散Tchebichef正交多项式的图像无损压缩方法
US8989278B2 (en) Method and device for coding a multi dimensional digital signal comprising original samples to form coded stream
US9948928B2 (en) Method and apparatus for encoding an image
JP2023157855A (ja) 符号語のチャネル間符号化を伴う画像圧縮
US9819969B2 (en) Generalization of methods and systems for image compression while encoding at least one extra bit
CN105472395B (zh) 一种基于离散Krawtchouk正交多项式的图像无损压缩方法
Razaq et al. Evolution and Advancement of Arithmetic Coding over Four Decades
Saraf et al. Design and implementation of novel SPIHT algorithm for image compression
Al-Khafaji Hybrid image compression based on polynomial and block truncation coding
Abdul-Wahed et al. Compression of image using multi-wavelet techniques
US9384410B2 (en) Method and system for image compression while encoding at least one extra bit
KR100584550B1 (ko) 고속 역 이산 여현 변환 방법 및 장치
Meena Image Compression And Decompression In Terms Of Power And Area…
CN104104965A (zh) 层次化图像和视频编解码器

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant