CN111225207B - 用于对变换系数进行编码的方法和装置 - Google Patents

用于对变换系数进行编码的方法和装置 Download PDF

Info

Publication number
CN111225207B
CN111225207B CN201911180035.7A CN201911180035A CN111225207B CN 111225207 B CN111225207 B CN 111225207B CN 201911180035 A CN201911180035 A CN 201911180035A CN 111225207 B CN111225207 B CN 111225207B
Authority
CN
China
Prior art keywords
context
coefficients
transform
quantized coefficients
encoding
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
CN201911180035.7A
Other languages
English (en)
Other versions
CN111225207A (zh
Inventor
M·米利纳尔
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.)
Semiconductor Components Industries LLC
Original Assignee
Semiconductor Components Industries LLC
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 Semiconductor Components Industries LLC filed Critical Semiconductor Components Industries LLC
Publication of CN111225207A publication Critical patent/CN111225207A/zh
Application granted granted Critical
Publication of CN111225207B publication Critical patent/CN111225207B/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/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/124Quantisation
    • 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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • 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/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Abstract

本发明涉及一种用于对变换系数进行编码的方法和装置。本技术的各种实施方案可包括熵编码器,该熵编码器被配置为将每个变换系数编码为符号,其中该符号包括上下文、量值和尾数。该上下文可为四个上下文之一,并且可使用霍夫曼代码的子集来编码符号,其中基于该上下文来确定该子集。本发明所实现的技术效果是提供既高效又低复杂度的用于编码系数的方法和装置。

Description

用于对变换系数进行编码的方法和装置
技术领域
本发明涉及一种用于对变换系数进行编码的方法和装置。
背景技术
许多常规图像压缩算法使用区块变换将图像振幅转换为图像频率/相位。为了减小数据带宽,需要更有效地对变换系数进行编码。一般来讲,对变换系数进行编码包括:使这些系数量化,对这些系数重排序并且编码系数量值。然而,常规编码方法要么是高效/高复杂度的,要么是低复杂度/低效的。可能需要既高效又低复杂度的编码方法。
发明内容
本发明涉及一种用于对变换系数进行编码的方法和装置。
本发明所解决的技术问题是常规编码方法要么是高效/高复杂度的,要么是低复杂度/低效的。
本技术的各种实施方案可包括用于变换系数编码和解码的方法和装置。用于变换系数编码和解码的方法和装置可包括熵编码器,该熵编码器被配置为将每个变换系数编码为符号,其中该符号包括上下文、量值和尾数。该上下文可为四个上下文中的一者,并且可使用霍夫曼代码的子集来编码该符号,其中基于该上下文来确定该子集。
根据一个方面,用于对变换系数进行编码的装置包括:预测模块,该预测模块被配置为根据来自多个区块中的至少两个区块来生成预测的区块;变换模块,该变换模块连接到预测模块并且被配置为通过使用变换算法使预测的区块变换来生成多个变换系数;量化器,该量化器连接到变换模块并且被配置为通过使多个变换系数量化来生成多个量化的系数;以及熵编码模块,该熵编码模块连接到量化器并且被配置为将每个量化的系数编码为符号,其中该符号包括上下文、量值和尾数。
在上述装置的一个实施方案中,当量化的系数为非零值时,该符号还包括正负号。
在上述装置的一个实施方案中,熵编码模块包括霍夫曼代码的查找表;并且使用霍夫曼代码的子集来编码该符号,其中基于该上下文来确定该子集。
在上述装置的一个实施方案中,熵编码模块使用可变长度代码表来编码多个量化的系数。
在上述装置的一个实施方案中,熵编码模块将尾数与上下文和量值单独地编码。
在上述装置的一个实施方案中,该上下文包括如下中的一者:第一上下文,其中第一上下文是来自多个量化的系数的第一系数;第二上下文,其中第二上下文是来自多个量化的系数的具有零量值的最后一个系数;第三上下文,其中第三上下文是来自多个量化的系数的具有一量值的最后一个系数;以及第四上下文,其中第四上下文是默认上下文。
根据另一个方面,用于对变换系数进行编码的方法包括:生成图像数据帧;将图像数据帧分成多个区块;使用来自多个区块中的至少两个区块来生成预测的区块;通过使用变换算法使预测的区块变换来生成变换系数;通过使变换系数量化来生成量化的系数;以及在一个时钟周期内,将量化的系数编码为符号,其中该符号包括上下文、量值和尾数。
在上述方法的一种操作中,该上下文包括如下中的一者:第一上下文,其中第一上下文是来自预测的区块中的多个量化的系数的第一系数;第二上下文,其中第二上下文是来自多个量化的系数的具有零量值的最后一个系数;第三上下文,其中第三上下文是来自多个量化的系数的具有一量值的最后一个系数;以及第四上下文,其中第四上下文是默认上下文。
在上述方法的一种操作中,编码量化的系数包括:使用霍夫曼代码的子集来编码该符号,其中基于该上下文来确定该子集。
在上述方法的一种操作中,编码量化的系数包括将尾数与上下文和量值单独地编码。
本发明所实现的技术效果是提供既高效又低复杂度的用于编码系数的方法和装置。
附图说明
当结合以下示例性附图考虑时,可参照具体实施方式更全面地了解本技术。在以下附图中,通篇以类似附图标记指代各附图中的类似元件和步骤。
图1是根据本技术的示例性实施方案的用于编码和解码的系统的框图;
图2是根据本技术的示例性实施方案的成像系统的框图;
图3是根据本技术的示例性实施方案的用于编码图像数据的流程图;
图4是根据本技术的实施方案的示出各种可编码符号和示例性符号概率的图表;
图5A代表性地示出了根据本技术的示例性实施方案的第一图像像素的编码器预测;
图5B代表性地示出了根据本技术的示例性实施方案的第二图像像素的编码器预测;
图5C代表性地示出了根据本技术的示例性实施方案的第三图像像素的编码器预测;
图5D代表性地示出了根据本技术的示例性实施方案的第四图像像素的编码器预测;
图6A代表性地示出了根据本技术的示例性实施方案的第一图像像素的解码器预测;
图6B代表性地示出了根据本技术的示例性实施方案的第二图像像素的解码器预测;
图6C代表性地示出了根据本技术的示例性实施方案的第三图像像素的解码器预测;和
图6D代表性地示出了根据本技术的示例性实施方案的第四图像像素的解码器预测。
具体实施方式
本技术可在功能块部件和各种加工步骤方面进行描述。此类功能块可通过被配置成执行指定功能并且实现各种结果的任何数量的部件来实现。例如,本技术可采用可执行多种功能的各种量化器、变换算法等。此外,本技术可结合任何数量的电子系统(诸如机动车、航空、“智能设备”、便携式设备和消费类电子产品)实施,并且所描述的系统仅为本技术的示例性应用。此外,本技术可采用任何数量的常规预测技术、量化技术以及传输和/或存储技术。
根据本技术的各个方面的用于变换系数编码和解码的方法和装置可结合任何合适的电子系统来操作,诸如成像系统、音频系统或任何其他能压缩数据和/或对压缩的数据进行操作的系统。
参见图1和图2,根据本技术的各个方面的系统100可被配置为编码源数据,生成压缩的比特流,解码压缩的比特流,并且生成表示源数据的输出数据。在一个示例性实施方案中,系统100可包括编码器105、接口电路155和解码器110,它们一起操作以压缩、传输并重建数据。
成像系统200可包括配备有读出逻辑电路202的图像传感器201、通过在传输之前压缩信号的振幅范围来改善信号的信噪比的压缩扩展器205,以及生成数据区块的第一线缓冲电路210。例如,图像传感器201可生成一个或多个图像数据帧,其中每个图像数据帧包括多个像素数据。压缩扩展器205可接收并压缩图像数据帧。然后压缩扩展器205可将压缩的图像数据帧传输到第一线缓冲电路210,其中第一线缓冲电路210将图像数据帧分成多个区块,该多个区块具有来自多个像素数据的像素值子集,其中每个区块包括多个子区块。例如,每个区块可被描述为包括4个子区块的2×2区块、包括16个子区块的4×4区块等,其中每个子区块表示单独像素信号。然后第一线缓冲电路210可将每个区块相继地传输到编码器105以便进一步处理。
编码器105可被配置为接收源数据,并且将源数据从一种格式或代码转换为另一种格式或代码以用于标准化、速度和/或压缩目的。根据一个示例性实施方案,编码器105可包括预测模块115、差值编码器、变换模块120、量化器125、熵编码模块130和匹配解码器160。
根据一个示例性实施方案,匹配解码器160可被配置为在解码器110处生成复制内部状态和/或解压缩的数据的数据。匹配解码器160可包括反量化器165,该反量化器执行与量化器125所执行的功能互补的解量化功能;以及反变换模块170,该反变换模块执行与变换模块120所执行的功能互补的反变换算法。匹配解码器160可连接在量化器125与预测模块115之间。因此,匹配解码器160可操作以使来自量化器125的数据解量化和反变换,从而在解码器110处生成解压缩的数据的副本。然后匹配解码器160可将复制的数据传输到预测模块115。
预测模块115可被配置为使用已编码的区块(即,已在前一循环中编码的区块)和尚未编码的数据来生成预测的区块270。例如,预测模块115可被配置为使用当前区块240、前一区块245、拐角区块250和上区块255中的一者或多者。当前区块240可包括尚未编码(压缩)的当前、初始输入数据(例如,像素数据),并且前一区块245可包括来自匹配解码器160的复制的数据。换句话讲,当第一线缓冲电路210将数据区块传输到编码器105时,当前(实时)数据区块用于形成当前区块240并且副本数据(经由匹配解码器160)用于形成前一区块245。拐角区块250包括已经被编码且随后被解码的数据(即,数据已由差值编码器215进行差值编码,已由量化器125进行量化,并且已由匹配解码器160进行重建)。类似地,上区块255包括已经被编码且随后被解码的解码的数据(即,数据已由差值编码器215进行差值编码,已由量化器125进行量化,并且已由匹配解码器160进行重建)。根据一个示例性实施方案,预测模块115在不使用来自解码器110的数据的情况下形成预测的区块270。
根据一个示例性实施方案,预测模块115可以以当前区块240的形式接收尚未编码的像素数据,并且使用已编码的像素数据来作出预测并形成预测的区块270。例如,预测模块115可被配置为使用来自匹配解码器160的复制的数据(形成前一区块245)、拐角区块250和上区块255来形成预测的区块270。
编码器105还可包括差值编码器215(即,Δ编码器),该差值编码器被配置为确定两个数据样本之间的差值并且将该差值而非初始数据样本传输到变换模块120。例如,差值编码器215可连接到预测的区块270和当前区块240并且被配置为接收预测的区块270和当前区块240,从而生成来自预测的区块270的数据与来自当前区块240的初始、尚未编码的像素数据之间的差值。差值编码器215可包括适用于计算差值的任何电路和/或系统,诸如被配置为执行简单算术减法或任何其他合适的差运算(诸如计算比率等)的电路。
变换模块120可被配置为通过将变换算法应用于预测的区块270或在编码器105包括差值编码器215的情况下将变换算法应用于差值区块来生成变换的输出。根据一个示例性实施方案,变换模块120被配置为将快速沃尔什-哈达玛变换(FWHT)应用于预测的区块270或来自差值编码器215的差值区块。变换模块120可由硬件、软件或它们的组合实现。
量化器125将来自值集合的输入值映射到来自有限的、较小值集合的输出值。量化器125可连接到变换模块120并且被配置为接收变换的输出。然后,量化器125可将变换的输出映射到量化的输出。量化器125可包括适用于执行量化功能的任何电路和/或系统。
根据一个示例性实施方案,编码器105还可包括编码的线缓冲器260。编码的线缓冲器260可连接到量化器125的输出端子,并且被配置为使用量化的输出来形成上区块255和拐角区块250。
编码器105还可包括重排序模块220,该重排序模块被配置为重新排列量化的输出并且生成量化的输出的有序集合(例如,向量),其中量化的输出按升序重排序。量化的输出可被称为多个量化的系数。重排序模块220可连接到量化器125的输出并且接收量化的输出。
熵编码器130将有序集合(即,多个量化的系数)转换为另一个域,该另一个域使用更少的比特数来表示每个量化的系数。一般来讲,熵编码器130通过利用其统计特性来将量化的系数的值映射到比特流。可将一些变换系数量化到零,并且使用诸如可变长度编码(例如,霍夫曼编码)或算术编码的编码方案来编码非零系数的值。根据一个示例性实施方案,熵编码器130可使用单个代码表来生成压缩的比特流。
根据一个示例性实施方案,熵编码器130可将来自多个量化的系数的每个量化的系数表示为符号,其中符号包括上下文(context)、量值(magnitude,即,指数)和尾数(mantissa)。当量化的系数为非零值时,符号还可包括正负号(sign)。在这种情况下,上下文是“下一个”上下文。
熵编码器130可使用量值来定义编码的尾数的长度以形成第i个系数:Ci=(-1)正负号*2量值*尾数。在量化的系数具有零值的情况下,熵编码器130将连续零的数量表示为符号。因此,具有零值的量化的系数的符号包括上下文、零的总数(“zero_count_magnitude”)和尾数中的零的数量(“zero_count_mantissa”)。在这种情况下,上下文是“下一个”上下文。零系数由下式描述:Ci(i+n-1)=0,其中n=2zero_count_magnitude*zero_count_mantissa。
可根据具体应用来选择上下文的数量,并且可能希望保持上下文的数量尽可能低。根据一个示例性实施方案,熵编码器可包括四个不同上下文:第一上下文、第二上下文、第三上下文和第四上下文。第一上下文可为起始上下文,并且与来自多个量化的系数中的第一系数相关联。第二上下文可与来自多个量化的系数中的具有零量值的最后一个系数相关联。第三上下文可与来自多个量化的系数中的具有一量值的最后一个系数相关联。第四上下文可为默认上下文。
然后熵编码器130可编码符号。为了减少符号的数量,可使用量值和尾数来表示量化的系数,其中单独地编码正负号和尾数。例如,参见图4,熵编码器130可包括根据每个可能符号的统计概率含有可能符号(例如,E1:E8、Z1:EOB、T1:T8和M1:M8)的查找表、作为四个不同上下文之一的“当前活动的”上下文、以及作为紧跟在“当前活动的”上下文之后的上下文的“下一个”上下文。
熵编码器130可被配置为使用查找表来编码符号。例如,查找表可包括霍夫曼代码。熵编码器130可被配置为使用霍夫曼代码的子集来编码符号,其中基于“当前活动的”上下文来确定该子集。因此,可使用单个查找表基于“当前活动的”上下文、“下一个”上下文和量值来编码每个量化的系数。
根据一个示例性实施方案,熵编码器130可进一步被配置为使用运行长度编码(RLE)算法对多个量化的系数中的零的数量和一的数量进行计数。
编码器105还可包括被配置为暂时保持数据的输出缓冲器230。例如,输出缓冲器230可连接到熵编码器130,并且被配置为从熵编码器130接收压缩的比特流。输出缓冲器230可在将压缩的比特流传输到接口155之前暂时保持压缩的比特流。
编码器105还可包括带宽控制电路235,该带宽控制电路被配置为选择性地增加或减小压缩的比特流的带宽。例如,带宽控制电路235可在所需的质量降至低于设定阈值的情况下增加带宽,并且可在带宽超过系统100的传输或存储容量的情况下减小带宽。
接口电路155将数据从传输设备传输到接收设备。例如,接口电路155可连接到编码器105和/或编码器模块130的输出端子,并且接收压缩的比特流。接口电路155还可连接到解码器110的输入端子,并且被配置为将压缩的比特流传输到解码器110和/或解码模块150。根据一个示例性实施方案,接口电路155包括移动产业处理器接口(MIPI),其是使用MIPI D-PHY串行总线在成像系统200与含有解码器110的主机处理器(未示出)之间传输数据的双向信令协议。
解码器110可被配置为执行编码器105的各种互补过程,诸如解码、解量化、反变换和重建。例如,解码器110可包括解码模块150,该解码模块接收压缩的比特流并解码/解压缩该比特流;解量化器145,该解量化器接收并解量化解码的比特流;反变换模块140,该反变换模块接收解量化的数据并对解量化的数据执行反变换;以及重建模块135,该重建模块接收并重建变换的数据并且生成表示源数据的输出数据。
解码器110可在主机处理器或任何合适的主机设备(诸如用于显示图像和/或视频的设备)中实现。
根据一个示例性实施方案,参见图1和图3,系统100使用图像传感器201生成图像数据帧,使用第一线缓冲电路210将图像数据帧分成多个区块,并且使用编码器105编码像素数据。编码器105使用拐角区块250、上区块255、前一区块中的至少一者来生成预测的区块245。然后编码器105通过以下方式使用差值编码器215执行差值编码:计算当前区块240中的值与对应初始、尚未编码的像素数据的差值。然后编码器105使用FWHT针对差值区块的每行和每列来变换该区块。之后编码器使用变换模块120使变换的区块(包括变换的系数)量化。随后编码器105对量化的系数进行重排序。量化的系数可由符号表示,并且编码器105使用查找表来编码符号。然后将编码的符号作为压缩的比特流传输到输出缓冲器230,其中输出缓冲器230将压缩的比特流传输到接口155和/或解码器110。之后解码器110执行互补功能以构建表示源数据的输出数据。
系统100可包括存储和/或传输压缩的比特流的接口155。系统100进一步使用解码器110来解码压缩的比特流以生成表示源数据的输出数据。解码器110使用解码模块150来扩展压缩的比特流,使用解量化器145来解量化该数据,使用反变换模块140来执行反变换,并且使用重建模块135来重建该数据。
根据一个示例性实施方案,参见图3、图5A至图5D,编码器130使用来自匹配解码器160的具有副本值的副本数据作出预测。例如,编码器105可接收源数据,例如像素数据,其中预测模块115接收源数据并执行区块内预测,包括使用先前预测的区块来生成第一预测的值并且使用先前预测的区块和副本值来生成第二预测的值。例如,使用先前预测的值(例如,sb、sc、sd、se)来预测第一预测的值(例如,sp0)(图5A)。然后编码器105将第一预测的值(sp0)更换为第一副本值(si0),之后编码器105使用第一副本值(si0)和先前预测的值(例如,sa、sb)来预测第二预测的值(例如,sp1)(图5B)。随后编码器105使用先前预测的值(例如,sd、se、sf)和第一副本值(si0)来预测第三预测的值(例如,sp2)(图5C)。然后编码器105将第二预测的值(sp1)和第三预测的值(sp2)分别更换为第二副本值(si1)和第三副本值(si2)。之后编码器105仅使用这些副本值(例如,si0、si1、si2)来预测第四预测的值(例如,sp3)(图5D)。由于可使用单个方向,该方法减少了多个预测方向的需要,并且提供了更准确的预测。
然后编码器105使用差值编码器215来执行差值编码。例如,然后差值编码器215接收如上形成的预测的区块270中的值以及初始、尚未编码的像素值。之后差值编码器215计算预测的值与初始、尚未编码的值之间的差值并且编码该差值。从具有图像数据帧内的相同坐标位置的初始、尚未编码的值减去预测的区块中的每个预测的值。由于预测的值更准确,编码的差值也比常规方法更准确。
根据一个示例性实施方案,参见图1和图6A至图6D,解码器110操作以执行互补功能,诸如解码、解量化、反变换和重建,从而生成表示源数据的输出数据。为了重建该数据,解码器110可以以与编码器105执行预测类似的方式执行预测。例如,解码器110使用先前预测的值(sb、sc、sd、se)来预测第一解码的值(sp0)(图6A)。解码器110可进一步根据变换系数来校正第一解码的值(sp0)以增加输出数据的准确性。然后解码器110将第一预测的值(sp0)更换为第一解码的像素数据(sd0),之后解码器110使用第一解码的像素数据(sd0)和先前预测的值(例如,sa、sb)来预测第二预测的值(例如,sp1)(图6B)。随后解码器110使用先前预测的值(例如,sd、se、sf)和第一解码的像素数据(sd0)来预测第三预测的值(例如,sp2)(图6C)。然后解码器110将第二预测的值(sp1)和第三预测的值(sp2)分别更换为第二解码的像素数据(sd1)和第三解码的像素数据(sd2)。之后解码器110仅使用解码的像素数据(例如,sd0、sd1、sd2)来预测第四解码的值(例如,sp3)(图6D)。
在上述描述中,已结合具体示例性实施方案描述了所述技术。所示和所述特定具体实施方式用于展示所述技术及其最佳模式,而不旨在以任何方式另外限制本技术的范围。实际上,为简洁起见,方法和系统的常规制造、连接、制备和其它功能方面可能未详细描述。此外,多张图中示出的连接线旨在表示各种元件之间的示例性功能关系和/或步骤。在实际系统中可能存在多个替代的或另外的功能关系或物理连接。
已结合具体示例性实施方案描述了所述技术。然而,可在不脱离本技术的范围的情况下作出各种修改和变化。以示例性而非限制性方式考虑说明和附图,并且所有此类修改旨在包括在本技术的范围内。因此,应通过所述的一般实施方案及其在法律意义上的等同形式,而不是仅通过上述具体示例确定所述技术的范围。例如,除非另外明确说明,否则可以任何顺序执行任何方法或工艺实施方案中列举的步骤,并且不限于具体示例中提供的明确顺序。另外,任何装置实施方案中列举的部件和/或元件可以多种排列组装或者以其它方式进行操作配置,以产生与本技术基本上相同的结果,因此不限于具体示例中阐述的具体配置。
上文已经针对具体实施方案描述了有益效果、其它优点和问题解决方案。然而,任何有益效果、优点、问题解决方案或者可使任何具体有益效果、优点或解决方案出现或变得更明显的任何要素都不应被解释为关键、所需或必要特征或组成部分。
术语“包含”、“包括”或其任何变型形式旨在提及非排它性的包括,使得包括一系列要素的过程、方法、制品、组合物或装置不仅仅包括这些列举的要素,而且还可包括未明确列出的或此类过程、方法、制品、组合物或装置固有的其它要素。除了未具体引用的那些,本技术的实施所用的上述结构、布置、应用、比例、元件、材料或部件的其它组合和/或修改可在不脱离其一般原理的情况下变化或以其它方式特别适于具体环境、制造规范、设计参数或其它操作要求。
上文已结合示例性实施方案描述了本技术。然而,可在不脱离本技术的范围的情况下对示例性实施方案作出改变和修改。这些和其它改变或修改旨在包括在本技术的范围内,如以下权利要求书所述。
根据一个方面,用于对变换系数进行编码的装置包括:预测模块,该预测模块被配置为根据来自多个区块中的至少两个区块来生成预测的区块;变换模块,该变换模块连接到预测模块并且被配置为通过使用变换算法使预测的区块变换来生成多个变换系数;量化器,该量化器连接到变换模块并且被配置为通过使多个变换系数量化来生成多个量化的系数;以及熵编码模块,该熵编码模块连接到量化器并且被配置为将每个量化的系数编码为符号,其中该符号包括上下文、量值和尾数。
在一个实施方案中,当量化的系数为非零值时,该符号还包括正负号。
在一个实施方案中,该变换算法是快速沃尔什-哈达玛变换算法。
在一个实施方案中,熵编码模块包括霍夫曼代码的查找表。
在一个实施方案中,使用霍夫曼代码的子集来编码该符号,其中基于该上下文来确定该子集。
在一个实施方案中,熵编码模块使用可变长度代码表来编码多个量化的系数。
在一个实施方案中,熵编码模块将尾数与上下文和量值单独地编码。
在一个实施方案中,该上下文包括如下中的一者:第一上下文,其中第一上下文是来自多个量化的系数的第一系数;第二上下文,其中第二上下文是来自多个量化的系数的具有零量值的最后一个系数;第三上下文,其中第三上下文是来自多个量化的系数的具有一量值的最后一个系数;以及第四上下文,其中第四上下文是默认上下文。
根据另一个方面,用于对变换系数进行编码的方法包括:生成图像数据帧;将图像数据帧分成多个区块;使用来自多个区块中的至少两个区块来生成预测的区块;通过使用变换算法使预测的区块变换来生成变换系数;通过使变换系数量化来生成量化的系数;以及在一个时钟周期内,将量化的系数编码为符号,其中该符号包括上下文、量值和尾数。
在一种操作中,当量化的系数为非零值时,该符号还包括正负号。
在一种操作中,该上下文包括如下中的一者:第一上下文,其中第一上下文是来自预测的区块中的多个量化的系数的第一系数;第二上下文,其中第二上下文是来自多个量化的系数的具有零量值的最后一个系数;第三上下文,其中第三上下文是来自多个量化的系数的具有一量值的最后一个系数;以及第四上下文,其中第四上下文是默认上下文。
在一种操作中,编码量化的系数包括:使用可变长度代码表来编码量化的系数。
在一种操作中,编码量化的系数包括:使用霍夫曼代码的子集来编码该符号,其中基于该上下文来确定该子集。
在一种操作中,编码量化的系数包括将尾数与上下文和量值单独地编码。
在又一个方面,成像系统包括:图像传感器,该图像传感器被配置为生成图像数据帧;区块生成器,该区块生成器连接到图像传感器并且被配置为接收图像数据帧并将图像数据帧分成多个区块;以及编码器,该编码器包括:预测模块,该预测模块连接到区块生成器并且被配置为根据来自多个区块中的至少两个区块来生成预测的区块;变换模块,该变换模块连接到预测模块并且被配置为通过使用变换算法使预测的区块变换来生成变换系数;量化器,该量化器连接到变换模块并且被配置为通过使变换系数量化来生成量化的系数;以及熵编码模块,该熵编码模块连接到量化器并且被配置为将量化的系数编码为符号,其中该符号包括上下文、量值和尾数。
在一个实施方案中,当量化的系数为非零值时,该符号还包括正负号。
在一个实施方案中,该上下文包括如下中的一者:第一上下文,其中第一上下文是来自预测的区块中的多个量化的系数的第一系数;第二上下文,其中第二上下文是来自多个量化的系数的具有零量值的最后一个系数;第三上下文,其中第三上下文是来自多个量化的系数的具有一量值的最后一个系数;以及第四上下文,其中第四上下文是默认上下文。
在一个实施方案中,熵编码模块将尾数与上下文和量值单独地编码。
在一个实施方案中,熵编码模块包括霍夫曼代码的查找表。
在一个实施方案中,使用霍夫曼代码的子集来编码该符号,其中基于该上下文来确定该子集。

Claims (10)

1.一种用于对变换系数进行编码的装置,其特征在于,所述装置包括:
预测模块,所述预测模块被配置为根据来自多个区块中的至少两个区块来生成预测的区块;
变换模块,所述变换模块连接到所述预测模块并且被配置为通过使用变换算法使所述预测的区块变换来生成多个变换系数;
量化器,所述量化器连接到所述变换模块并且被配置为通过使所述多个变换系数量化来生成多个量化的系数;以及
熵编码模块,所述熵编码模块连接到所述量化器并且被配置为将每个量化的系数编码为符号,其中,所述符号包括上下文、量值和尾数。
2.根据权利要求1所述的装置,其特征在于,当所述量化的系数为非零值时,所述符号还包括正负号。
3.根据权利要求1所述的装置,其特征在于:
所述熵编码模块包括霍夫曼代码的查找表;以及
所述符号使用来自所述查找表的所述霍夫曼代码的子集来进行编码,其中,所述子集基于所述上下文来进行确定。
4.根据权利要求1所述的装置,其特征在于,所述熵编码模块使用可变长度代码表来编码所述多个量化的系数。
5.根据权利要求1所述的装置,其特征在于,所述熵编码模块将所述尾数与所述上下文和所述量值单独地编码。
6.根据权利要求1所述的装置,其特征在于,所述上下文为以下各项之一:
第一上下文,其中,所述第一上下文是来自所述多个量化的系数的第一系数;
第二上下文,其中,所述第二上下文是来自所述多个量化的系数的具有零量值的最后一个系数;
第三上下文,其中,所述第三上下文是来自所述多个量化的系数的具有一量值的最后一个系数;或
第四上下文,其中,所述第四上下文是默认上下文。
7.一种用于对变换系数进行编码的方法,其特征在于,所述方法包括:
生成图像数据帧;
将所述图像数据帧分成多个区块;
使用来自所述多个区块中的至少两个区块来生成预测的区块;
通过使用变换算法使所述预测的区块变换来生成变换系数;
通过使所述变换系数量化来生成量化的系数;以及
在一个时钟周期内,将所述量化的系数编码为符号,其中,所述符号包括上下文、量值和尾数。
8.根据权利要求7所述的方法,其特征在于,所述上下文为以下各项之一:
第一上下文,其中,所述第一上下文是来自所述预测的区块中的所述多个量化的系数的第一系数;
第二上下文,其中,所述第二上下文是来自所述多个量化的系数的具有零量值的最后一个系数;
第三上下文,其中,所述第三上下文是来自所述多个量化的系数的具有一量值的最后一个系数;或
第四上下文,其中,所述第四上下文是默认上下文。
9.根据权利要求7所述的方法,其特征在于,将所述量化的系数编码包括:使用来自霍夫曼代码表的霍夫曼代码的子集来编码所述符号,其中,基于所述上下文来选择所述霍夫曼代码的子集。
10.根据权利要求7所述的方法,其特征在于,将所述量化的系数编码包括将所述尾数与所述上下文和所述量值单独地编码。
CN201911180035.7A 2018-11-27 2019-11-27 用于对变换系数进行编码的方法和装置 Active CN111225207B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/201,182 US10841595B2 (en) 2018-11-27 2018-11-27 Methods and apparatus for transform coefficient encoding and decoding
US16/201,182 2018-11-27

Publications (2)

Publication Number Publication Date
CN111225207A CN111225207A (zh) 2020-06-02
CN111225207B true CN111225207B (zh) 2024-02-06

Family

ID=70770421

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911180035.7A Active CN111225207B (zh) 2018-11-27 2019-11-27 用于对变换系数进行编码的方法和装置

Country Status (2)

Country Link
US (1) US10841595B2 (zh)
CN (1) CN111225207B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5818877A (en) * 1996-03-14 1998-10-06 The Regents Of The University Of California Method for reducing storage requirements for grouped data values
CN1428742A (zh) * 2001-11-27 2003-07-09 三星电子株式会社 用于编码和解码关键字数据的装置和方法
CN101267563A (zh) * 2002-01-22 2008-09-17 诺基亚有限公司 自适应可变长度编码
WO2010000392A2 (de) * 2008-07-02 2010-01-07 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und verfahren zum codieren und decodieren einer mehrzahl von fliesskommawerten
CN103597838A (zh) * 2011-04-15 2014-02-19 黑莓有限公司 对末位有效系数的位置进行编码和解码的方法和设备
CN103733622A (zh) * 2011-06-16 2014-04-16 弗劳恩霍夫应用研究促进协会 熵编码中的上下文初始化

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5737925A (en) * 1980-08-14 1982-03-02 Matsushita Electric Ind Co Ltd High-speed hadamard converter
US5321776A (en) 1992-02-26 1994-06-14 General Electric Company Data compression system including successive approximation quantizer
US6738074B2 (en) 1999-12-29 2004-05-18 Texas Instruments Incorporated Image compression system and method
ZA200901048B (en) 2006-09-29 2010-05-26 Thomson Licensing Geometric intra prediction
US8410959B2 (en) * 2010-04-09 2013-04-02 Qualcomm, Incorporated Variable length codes for coding of video data
EP2679012B1 (en) * 2011-02-21 2015-08-26 Dolby Laboratories Licensing Corporation Floating point video coding
US20130083856A1 (en) 2011-06-29 2013-04-04 Qualcomm Incorporated Contexts for coefficient level coding in video compression
WO2013003479A2 (en) * 2011-06-30 2013-01-03 Samplify Systems, Inc. Compression of floating-point data
US20130019029A1 (en) * 2011-07-13 2013-01-17 International Business Machines Corporation Lossless compression of a predictive data stream having mixed data types
US10027982B2 (en) * 2011-10-19 2018-07-17 Microsoft Technology Licensing, Llc Segmented-block coding
WO2014084674A2 (ko) 2012-11-29 2014-06-05 인텔렉추얼 디스커버리 주식회사 잔차 변환을 이용한 인트라 예측 방법 및 장치
US20140254664A1 (en) 2013-03-11 2014-09-11 Sony Corporation Methods to perform intra prediction for compression of cfa data
KR101621358B1 (ko) 2015-04-16 2016-05-17 아주대학교 산학협력단 Hevc 부호화 장치 및 그 인트라 예측 모드 결정 방법
US10827186B2 (en) * 2016-08-25 2020-11-03 Intel Corporation Method and system of video coding with context decoding and reconstruction bypass

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5818877A (en) * 1996-03-14 1998-10-06 The Regents Of The University Of California Method for reducing storage requirements for grouped data values
CN1428742A (zh) * 2001-11-27 2003-07-09 三星电子株式会社 用于编码和解码关键字数据的装置和方法
CN101267563A (zh) * 2002-01-22 2008-09-17 诺基亚有限公司 自适应可变长度编码
WO2010000392A2 (de) * 2008-07-02 2010-01-07 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und verfahren zum codieren und decodieren einer mehrzahl von fliesskommawerten
CN103597838A (zh) * 2011-04-15 2014-02-19 黑莓有限公司 对末位有效系数的位置进行编码和解码的方法和设备
CN103733622A (zh) * 2011-06-16 2014-04-16 弗劳恩霍夫应用研究促进协会 熵编码中的上下文初始化

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
An entropy coding method for floating-point texture coordinates of 3D mesh;TONG ZHOU et al.;《Proceeding of 2010 IEEE International Symposium on circuits and systems》;全文 *
基于众核的JPEG2000高速解码研究与实现;肖世福;《中国优秀硕士论文电子期刊》;全文 *
点云数据处理与三维重构研究;刘超;《万方数据库》;全文 *

Also Published As

Publication number Publication date
US10841595B2 (en) 2020-11-17
US20200169739A1 (en) 2020-05-28
CN111225207A (zh) 2020-06-02

Similar Documents

Publication Publication Date Title
RU2417518C2 (ru) Эффективное кодирование и декодирование блоков преобразования
US5535290A (en) Method and apparatus for limiting the number of a compressed output type in a compression/decompression system
JP2006126810A (ja) 後方適応規則を用いた整数データの無損失適応Golomb−Rice符号化および復号化
US20060067582A1 (en) Progressive JPEG decoding system
JPH0485621A (ja) 丸め装置
US8199820B2 (en) Intermediate compression of reference frames for transcoding
AU2018298758B2 (en) Method and device for digital data compression
CN110910894A (zh) 谱峰位置的编码与解码
JP3990464B2 (ja) ディジタルビデオ信号プロセッサのためのデータ効率のよい量子化テーブル
JP2006129467A (ja) 整数データの無損失適応符号化・復号化
Mahmud An improved data compression method for general data
Rojatkar et al. Image compression techniques: lossy and lossless
JP2005524300A (ja) コードワードインデックスに対してパラメータ値のマッピングを行うための適応型方法およびシステム
US8754792B2 (en) System and method for fixed rate entropy coded scalar quantization
CN111225207B (zh) 用于对变换系数进行编码的方法和装置
CN111225205B (zh) 用于执行区块内预测的方法和装置
Hussin et al. A comparative study on improvement of image compression method using hybrid DCT-DWT techniques with huffman encoding for wireless sensor network application
US20180255321A1 (en) Method and apparatus for fast and efficient image compression and decompression
Ravi et al. A study of various Data Compression Techniques
Usevitch JPEG2000 compatible lossless coding of floating-point data
CN112449191B (zh) 压缩多个图像的方法、解压缩图像的方法和装置
RU2765654C9 (ru) Способ и устройство для сжатия цифровых данных
Hilles et al. Image coding techniques in networking
Mohamed Wireless Communication Systems: Compression and Decompression Algorithms
JPH08316846A (ja) 画像符号化装置、画像復号化装置、画像符号化方法および画像復号化方法

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