CN101090501A - 模型搜寻式的可变长度编解码方法与装置 - Google Patents
模型搜寻式的可变长度编解码方法与装置 Download PDFInfo
- Publication number
- CN101090501A CN101090501A CN 200610092760 CN200610092760A CN101090501A CN 101090501 A CN101090501 A CN 101090501A CN 200610092760 CN200610092760 CN 200610092760 CN 200610092760 A CN200610092760 A CN 200610092760A CN 101090501 A CN101090501 A CN 101090501A
- Authority
- CN
- China
- Prior art keywords
- character string
- zig
- coefficient
- string model
- variable
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 70
- 238000007906 compression Methods 0.000 claims abstract description 38
- 230000006835 compression Effects 0.000 claims abstract description 25
- 230000008569 process Effects 0.000 claims abstract description 24
- 230000006837 decompression Effects 0.000 claims description 20
- 230000007246 mechanism Effects 0.000 claims description 17
- 230000008878 coupling Effects 0.000 claims description 16
- 238000010168 coupling process Methods 0.000 claims description 16
- 238000005859 coupling reaction Methods 0.000 claims description 16
- 238000010276 construction Methods 0.000 claims description 13
- 230000009466 transformation Effects 0.000 claims description 12
- 238000013139 quantization Methods 0.000 claims description 9
- 230000003044 adaptive effect Effects 0.000 claims description 7
- 238000005516 engineering process Methods 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 7
- 238000012360 testing method Methods 0.000 description 7
- 230000001186 cumulative effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 239000000047 product Substances 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 229910002056 binary alloy Inorganic materials 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 239000012467 final product Substances 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000013011 mating Effects 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明公开一种模型搜寻式的可变长度编解码方法与装置,分析位模型与区块之间的相关性。在解压缩的过程中,在熵译码之前加入搜寻位字符串模型的步骤,若位字符串模型匹配成功,则可直接获得zig-zag顺序排列的系数。在压缩的过程中,在熵编码之前使用搜寻表格,来匹配zig-zag顺序系数,若zig-zag顺序系数匹配成功,则可直接获得压缩码后的比特流。因此,可以直接重建4×4或8×8方块,而不须经过标准的CAVLD程序。相对于标准CAVLD程序,本发明提升了约10%熵编解码的效能。
Description
技术领域
本发明涉及视频编解码(video coding/decoding)技术,特别涉及一种模型搜寻式(pattern-search base)的可变长度编解码(variable length coding/decoding)方法与装置。
背景技术
H.264/高级视频编码(advance video coding,AVC)是一种新一代的视频编码标准,也是一种以区块为基本单位(block-based)的压缩方法。该视频编码标准提供了多样压缩工具与功能,对比先前技术,大幅度改善了视频编码标准。为了使多种产品和其系列产品能够弹性化与经济效益好,在可编程(programmable)的中央处理单元(CPU)或是数字信号处理器(DSP)上,开发了多媒体应用软件。然而H.264/AVC的复杂度也相对的提高。例如,基于软件的(software-based)的实时(real-time)译码器需要高性能的处理器和更快速的处理算法(algorithm)。
从计算上的复杂度(computing complexity)来看,可以知道用像素内插(pixel interpolation)的运动补偿(motion compensation)、使用情境适应性可变长度码(context adaptive variable length codes,CAVLC)的熵解码(entropydecoding)和去区块滤波器(de-block filter)等压缩工具消耗更多的时间。
情境适应性可变长度码的基本行为与可变长度码的基本行为类似。可变长度码的软件实现(software implementation)有多顶工作流程,可分为两类,一类为位串行(bit-serial)法,另一类为位并行(bit-parallel)法。比特流法不太适合高性能实时应用软件,因为需要花长时间的周期来译码一个长的码字(codeword)。相反地,位并行法能够减少内存的存取和增加性能。
位并行法最简易的方式就是使用一个表格(table)来寻找,并且输入若干位来寻址(address)一个表格,该表格里包含有被译码的符号(symbol)和该码的长度。码的长度决定比特流(bit-stream)的指标要被移往的位置。该寻找表格必须能被码的最大位长度寻址。然而这会浪费内存的占用空间,因为较短的码在表格里有很多重复的元素(entry)。
一种解决的方案就是使用多回寻找(multi-pass look-ups)。首先,用少许的位寻址,在码表里寻找被译码的符号,如果在该码表里没有找到的话,就需要再读少许的位,到另一个码表里去执行第二回寻找(second look-up),以此类推。虽然可省内存的占用空间,但消耗更多的处理时间。
而CAVLC是H.264所使用的一种可变长度码的编码方式,使用许多扩充专属的码表,而且要查寻那个码表是依据前后的情境的方块或符号而定。其设计概念是先使用多种方法来分割可变长度码的表格,以节省内存的空间,然后以算数运算来取代没有效率的寻找表格,并建构多符号可变长度码(multi-symbol VLC),以一次(once)来解码连续的多个符号。图1是流程图,说明CAVLD译码的程序步骤。CAVLD译码的主要程序有六个步骤101-106,每个步骤使用不同的码表。CAVLD的流程说明如下。
步骤101: 解码非零系数的总个数TC与±1的个数T1s,其中TC值的范围是0-16,而Tls值的范围是0-3。该步骤是根据nC值而决定查询的表格,该nC值是本方块(current block)的上边(upper)已解码出的方块与左边(leff-hand)已解码出的方块的非零系数总个数的平均值。
步骤102:根据T1s,解码T1的正负号(sign),以0代表正号,1代表负号。
步骤103:根据TC,依次解码出非零系数Level。该步骤要查寻那个表格是根据前一个已解码出的非零系数而决定查询的表格。
步骤104:解码非零系数前总共有几个0。该步骤是根据TC的值而决定查询的表格。
步骤105:解码每一非零系数前有几个0。该步骤是根据在该非零系数的值有几个0而决定查询的表格。
步骤106:根据前面各步骤的值,还原出zig-zag顺序排列的16个系数。
举例而言,使用CAVLD译码比特流(0001 0011 1100)可译码出按照zig-zag顺序排列的16个系数(2,0,-1,0,0,0,0,0,0,0,0,0,0,0,0,0),而在译码过程中需使用3个不同的码表,也就是说码表9-5、码表9-7与码表9-10。图2说明CAVLD译码比特流(0001 0011 1100)的过程。
在以区块为基本单位的视频压缩标准中,是用可变长度编码方式来编码4×4或8×8方块,以视频压缩标准H.264的基本规范(baseline profile)为例,4×4方块的剩余数据是使用CAVLC来编码。一个4×4的区块总共有16×16=256个位。图3A和图3B分别为压缩4个CIF与5个QCIF图像时,以CAVLC来压缩一个4×4区块的统计表。图3A和图3B里,第一栏代表4×4区块占用的位数。举例来说,第一个CIF图像压缩后,占用的位数为1-5的4×4区块有80363个,占用的位数为6-10的4×4区块有31380个,占用的位数为11-15的4×4区块有28477个,以此类推,占用的位数为41-45的4×4区块有4565个。从这统计表的数据可以看出约占60%的区块只需用15个位来表示即可。
根据这个特性,Tseng等人在“SoC Technical Journal,STC/ITRI,台湾,第3卷,第111-119页,2005年11月”里的论文“The Profile ofH.264”,针对H.264提供的压缩工具,作了4×4区块的频率(frequency)上的一些统计,包括亚像素(sub-pel)移动向量的统计、CIF与QCIF图像的移动向量的统计、跳跃模式(Skip mode)的统计、CIF与QCIF图像的4×4区块压缩后所占的位数的统计、反量化(inverse quantization,IQ)与反变换(inverse transformation,IT)之前与之后4×4区块的系数全为0的个数统计等。
分析这些统计资料来作探讨,并将一些最常出现的区块视为一种模型(pattern),因此尽管图像的区块没任何规律的排列,但是可以利用这些最常出现的模型来简化图像译码时的计算复杂度。
这篇论文里虽然收集了4×4区块的频率的统计数据,但没有去区分那些具有nC值的区块。然而,相同的4×4区块有可能因为不同的nC值,而被编码成不同的位字符串。换言之,这篇论文里没有进一步分析位模型(bitpattern)与区块之间的相关性(correlation)。
发明内容
本发明进一步分析位模型与区块之间的相关性,以模型搜寻式提出一种可变长度编解码方法。在压缩的过程中,在熵编码之前使用杂凑表格,来匹配zig-zag顺序系数,若zig-zag顺序系数匹配成功,就可直接获得压缩编码之后的比特流。在解压缩的过程中,在熵译码之前加入搜寻位字符串模型的步骤,若位字符串模型匹配成功,那么就可直接获得zig-zag顺序排列的16个系数。
本发明所述的一种模型搜寻式的可变长度编解码方法,该方法包含:解压缩过程,在该解压缩过程中,在熵译码之前加入模型搜寻机制,来匹配相对应的位字符串模型,并且若该位字符串模型匹配成功时,直接从该模型搜寻机制里去获得相对应的按照zig-zag顺序排列的系数,否则使用熵译码程序;以及压缩过程,在该压缩过程中,在熵编码之前加入表格搜寻机制,来匹配相对应的zig-zag顺序排列的系数,并且若该zig-zag顺序排列的系数匹配成功时,直接获得压缩编码后的比特流,否则使用熵编码程序。
本发明所述的模型搜寻式的可变长度编解码方法,其中该熵译码程序是译码情境适应性可变长度码。
本发明所述的模型搜寻式的可变长度编解码方法,其中该熵编码程序是以情境适应性可变长度码来编码。
本发明所述的模型搜寻式的可变长度编解码方法,其中在该解压缩过程中,该模型搜寻机制包括搜寻表格以及位字符串模型-zig-zag顺序的系数的表格。
在熵译码之前,该搜寻位字符串模型的步骤流程主要包含下列步骤:首先,取出区块,从其位字符串读取一个字节。然后以该字节的值当作索引,从建构的搜寻表格中找出被索引的元素,并从该元素相对应字段里的值,来判断位字符串模型是否匹配成功。若匹配成功,则从该元素里读出被匹配成功的位字符串模型。根据该位字符串模型,搜寻另一建构的位字符串模型-zig-zag顺序的系数的表格,直接得到其相对应zig-zag顺序的系数。若没有匹配成功,则使用熵译码的程序。
本发明所述的模型搜寻式的可变长度编解码方法,其中该搜寻表格里的每一元素至少包含四个字段,所述四个字段分别为索引、被匹配成功的位个数、被匹配成功的位字符串模型、以及该位字符串模型的号码。
本发明所述的模型搜寻式的可变长度编解码方法,其中该位字符串模型-zig-zag顺序的系数的表格里的每一元素至少包括三个字段,所述三个字段分别为位字符串模型的号码、该位字符串模型、以及该位字符串模型一系列的相对应的按照zig-zag顺序的系数。
本发明所述的模型搜寻式的可变长度编解码方法,其中该被读取的多个位为8个位。
本发明所述的模型搜寻式的可变长度编解码方法,其中该位字符串模型-zig-zag顺序的系数的表格里的每一元素还包括一个字段,该字段包含反量化与反变换后的区块的系数。
本发明所述的模型搜寻式的可变长度编解码方法,其中在该压缩过程中,该表格搜寻机制使用一种杂凑技术建构出杂凑表格。
本发明所述的模型搜寻式的可变长度编解码方法,其中该杂凑表格由256个元素所构成,每一该元素至少包括四个字段,所述四个字段分别为索引、zig-zag顺序系数、位字符串模型的号码、与位字符串模型。
类似地,在熵编码之前,该匹配zig-zag顺序系数主要包含下列步骤:首先对要匹配的zig-zag顺序系数,计算出其杂凑值。然后以该杂凑值当作该杂凑表格的索引,找出被索引的元素。从该元素的字段里的值来判断zig-zag顺序系数是否匹配成功。当该匹配成功时,根据该zig-zag顺序的系数,直接得到编码后的比特流。若没有匹配成功,则使用熵编码的程序。
因此,在解压缩时,若可快速找到位字符串模型,则可跳过原先视频压缩标准中的熵译码过程,而直接得到4×4或8×8方块。类似地,在压缩时,若可快速找到zig-zag顺序系数,则可跳过原先视频压缩标准中的熵编码过程,而直接得到码。依据实验数据显示,可以提升10%熵编解码的性能。
本发明提供一种模型搜寻式的可变长度编译码装置,该装置包含:解压缩模块,备有模型搜寻单元和熵译码器,参考搜寻表格,该模型搜寻单元经由输入的比特流,来匹配相对应的位字符串模型,若该匹配成功,则该模型搜寻单元从该搜寻表格取得对应的zig-zag顺序排列系数,若该匹配不成功,则该模型搜寻单元通知该熵译码器进行熵译码的程序;以及压缩模块,备有表格搜寻单元和熵编码器,参考杂凑表格,该表格搜寻单元匹配输入的zig-zag顺序系数,若匹配成功,则该表格搜寻单元从该杂凑表格取得相对应的压缩码之后的比特流,若匹配不成功,则该表格搜寻单元通知该熵编码器进行熵编码的程序。
本发明所述的模型搜寻式的可变长度编译码装置,其中该搜寻表格里的每一元素至少包含四个字段,所述四个字段分别为索引、被匹配成功的位个数、被匹配成功的位字符串模型、以及该位字符串模型的号码。
本发明所述的模型搜寻式的可变长度编译码装置,其中该杂凑表格由256个元素构成,每一个该元素至少包括四个字段,所述四个字段分别为索引、zig-zag顺序系数、位字符串模型的号码、与位字符串模型。
本发明所述的模型搜寻式的可变长度编译码装置,其中该模型搜寻单元以该比特流中的一个字节,作为该搜寻表格的索引来匹配该相对应的位字符串模型。
本发明所述的模型搜寻式的可变长度编译码装置,其中该表格搜寻单元从该输入的zig-zag顺序系数计算出杂凑值,作为该杂凑表格的索引来匹配该输入的zig-zag顺序系数。
附图说明
配合下列附图、实施例的详细说明及权利要求书,将上述及本发明的其它目的与优点详述于后。
图1是流程图,说明CAVLD译码的程序步骤。
图2说明CAVLD译码比特流(0001 0011 1100)的过程。
图3A是压缩4个CIF图像时,以CAVLC来压缩一个4×4区块的统计表。
图3B是压缩5个QCIF图像时,以CAVLC来压缩一个4×4区块的统计表。
图4说明根据本发明的解压缩过程和压缩过程。
图5是取样4000个位字符串模型,根据其位长度的个数统计出的累计百分比。
图6A是出现次数频繁的位字符串模型的一个范例。
图6B是使用CAVLD译码图6A的位字符串模型而得到按照zig-zag顺序排列的系数。
图7是根据本发明,建构出的一种搜寻表格。
图8进一步说明根据本发明的搜寻位字符串模型的步骤流程。
图9是根据图6B,建构出的一个杂凑表格。
图10进一步说明根据本发明的匹配zig-zag顺序系数的步骤流程。
图11是标准的CAVLD程序与本发明的方法对七个测试序列的实现效果的比较图。
图12是扩充图6B,包含反量化与反变换之后的区块的系数,建构出的模型-搜寻表格。
图13A是实现图4中解压缩过程的解压缩模块的一个方框示意图。
图13B是实现图4中压缩过程的压缩模块的一个方框示意图。
其中,附图标记说明如下:
101解码非零系数的总个数TC与±1的个数T1s
102根据T1s,解码T1的正负号
103根据TC,依序解码出非零系数
104解码非零系数之前总共有几个0
105解码每一非零系数之前有几个0
106根据前面各步骤的值,还原出zig-zag顺序排列的16个系数
400解压缩过程
401在熵译码之前加入模型搜寻机制,来匹配相对应的位字符串模型
403直接从该模型搜寻机制里去获得根据zig-zag顺序排列的系数
405使用熵译码程序
410压缩过程
411在熵编码之前加入表格搜寻机制,来匹配相对应的zig-zag顺序排列的系数
413直接获得压缩编码后的比特流
415使用熵编码程序
801取出区块,从其位字符串读取一个字节
802以该字节的值当作搜寻表格的索引,找出被索引的元素
803从该元素相对应字段里的值,判断出位字符串模型是否匹配成功
804从该元素里读出被匹配成功的位字符串模型
805根据该位字符串模型,搜寻位字符串模型-zig-zag顺序的系数的表格,直接得到其相对应zig-zag顺序的系数
806使用熵译码的程序
807取出下一区块
1001对要匹配的zig-zag顺序系数,计算出其杂凑值
1002以该杂凑值当作该杂凑表格的索引,找出被索引的元素
1003从该元素的字段里的值,判断出该zig-zag顺序系数是否匹配成功
1004根据该值,搜寻位字符串模型-zig-zag顺序的系数的表格,直接得到其相对应的位字符串
1005使用熵编码的程序
1300解压缩模块 1310压缩模块 1301模型搜寻单元
1311表格搜寻单元 1303根据zig-zag顺序排列的系数
1313压缩码后的比特流1305熵译码器 1315熵编码器
具体实施方式
如上所述,公知技术虽然收集了4×4区块的频率的统计数据,但没有去区分那些具有nC值的区块。然而,相同的4×4区块有可能因为不同的nC值,而被编码成不同的位字符串。例如,当nC值为0时,该4×4方块(2,0,-1,0,0,0,0,0,0,0,0,0,0,0,0,0)被编码为位字符串(0001 0011 1100)。然而,当nC值为2时,该4×4方块(2,0,-1,0,0,0,0,0,0,0,0,0,0,0,0,0)被编码为比特流(0011 1111 1000)。
换言之,位模型与区块之间存在着相关性。因此,在译码时,若可以从比特流中快速的匹配出特定比特流(0001 0011 1100),那么就可直接获得按照zig-zag顺序排列的16个系数(2,0,-1,0,0,0,0,0,0,0,0,0,0,0,0,0),而不用经过CAVLD的程序。类似地,在压缩编码时若可以快速的匹配出特定的zig-zag顺序排列的16个系数(2,0,-1,0,0,0,0,0,0,0,0,0,0,0,0,0),那么就可直接获得压缩编码后的比特流(0001 0011 1100),而不用经过CAVLC的程序。
根据这个特性,本发明的模型搜寻式的可变长度编解码方法包括解压缩过程和压缩过程,并分别说明于图4。
在图4的解压缩过程400中,在熵译码之前加入模型搜寻机制,来匹配相对应的位字符串模型,如步骤401所示;若该位字符串模型匹配成功时,直接从该模型搜寻机制里去获得根据zig-zag顺序排列的系数,如步骤403所示,因此,不用经过熵译码的程序。若没有匹配成功,则使用熵译码程序,如步骤405所示。
而在图4的压缩过程410中,在熵编码之前加入表格搜寻机制,来匹配相对应的zig-zag顺序排列的系数,如步骤411所示;若该zig-zag顺序排列的系数匹配成功时,就直接获得压缩编码后的比特流,如步骤413所示,因此,不用经过熵编码的程序。若没有匹配成功,则使用熵编码程序,如步骤415所示。
本发明进一步分析位模型与区块之间的相关性。统计出各种4×4方块模型的次数,制作出现次数频繁位字符串模型。位字符串模型的位长度(bitlength)不一,有些位字符串模型是2位,有些是3位等。图5是取样4000个位字符串模型,根据其位长度的个数统计出的累计百分比,其中,横轴代表位长度,纵轴代表位字符串模型的累计百分比。如图5所示,位长度不超过8位的位字符串模型占有81.07%,而位长度不超过12位的位字符串模型占有96.93%。
图6A是出现次数频繁的位字符串模型的一个范例,其中第一栏是位字符串模型的号码,第二栏是相对应的位字符串模型。例如,#9是2位的位字符串模型01,#1是3位的位字符串模型111,#5是3位的位字符串模型101。根据统计,出现次数频繁的位字符串模型不多,图6A中的范例列出26个位字符串模型。
不失一般性,本发明以不超过8位的位字符串模型(8-bit pattem)为基础,来建构图6A的搜寻表格(将于图7中详细说明),并从位字符串读取一个字节(8位)的值当作索引(index)。
接着,本发明使用CAVLD译码这些位字符串模型而得到根据zig-zag顺序排列的系数,如图6B所示的位字符串模型-zig-zag顺序的系数的表格。该位字符串模型-zig-zag顺序的系数的表格里的每一元素包括三个字段,分别为位字符串模型的号码、该位字符串模型、以及该位字符串模型一系列的相对应的按照zig-zag顺序的系数(共16个系数)。
有了该位字符串模型-zig-zag顺序的系数的表格后,在译码之前,若可快速找到位字符串模型,则可跳过熵译码的程序,而直接得到zig-zag顺序的16个系数。同样地,在编码前,若可快速找到zig-zag顺序的16个系数,则可跳过熵编码的程序,而直接得到压缩编码后的比特流。
为了快速找到位字符串模型,本发明使用位字符串当索引,不失一般性,以8位的位字符串为例,建构出图7的搜寻表格(look-up table)。该搜寻表格由256个元素(entry)所构成,称之为元素0、…、与元素255。每一元素包括四个字段,分别为索引、被匹配成功的位个数、被匹配成功的位字符串模型、与该位字符串模型在图6A中的号码。使用该图7的搜寻表格,图8进一步说明根据本发明的该搜寻位字符串模型的步骤流程。
参考图8,首先取出区块,如4×4方块,从其位字符串读取一个字节(8位),如步骤801所示。然后以该字节的值(二进制)当作该搜寻表格的索引,找出被索引的元素,如步骤802所示。从该元素的第4个字段里的值X4,也就是位字符串模型在图6A中的号码,判断出位字符串模型是否匹配成功,如步骤803所示。当X4大于0时,表示该字节里有匹配的位字符串模型,因此继续进行步骤804,从该元素里读出被匹配成功的位字符串模型,也就是该元素里第3个字段里的值X3。有了该X3后,则根据该X3,至图6B的位字符串模型-zig-zag顺序的系数的表格,直接得到其相对应zig-zag顺序的系数,如步骤805所示。
当X4=0时,表示该被读取的字节里没有匹配的位字符串模型,因此无须搜寻该位字符串模型-zig-zag顺序的系数的表格,而直接使用熵译码的程序,例如CAVLD,如步骤806所示。然后继续取出下一区块,如步骤807所示,以进行上述同样的搜寻位字符串模型的步骤流程。
所以,根据本发明,在解压缩的过程中,在熵译码之前加入位字符串模型搜寻步骤,当位字符串模型搜寻步骤匹配成功时,则可跳过原先视频压缩标准中的熵译码过程,而直接获得zig-zag顺序排列的16个系数,不用经过熵译码的程序。
值得一提的是,当nC值≥8时,本发明没有特别去建构如同图7的一个搜寻表格,这是因为该搜寻表格已足够涵盖大部分常发生的4×4方块(或2×2方块)。而少数的没有匹配的位字符串模型的方块,则使用原先视频压缩标准中的熵译码过程或许较有效率。
类似地,在压缩编码之前,若可以快速的匹配出特定的zig-zag顺序排列的系数,例如(2,0,-1,0,0,0,0,0,0,0,0,0,0,0,0,0),那么就可直接获得压缩编码后的比特流,例如(0001 0011 1100),而不用经过CAVLC的程序。
由于残余系数是16位有序编号的数,为了快速匹配zig-zag顺序系数(x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x16),本发明根据图6B,使用杂凑(hash)技术建构杂凑表格(hash table),如图9所示。该杂凑表格由256个元素所构成。每一元素包括四个字段,分别为索引、zig-zag顺序系数、位字符串模型在图6A中的号码、与位字符串模型。其中杂凑函数h的范例如下:
h(x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x16)=(x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x16)·(2,7,13,23,0,0,0,0,0,0,0,0,0,0,0,0)+64。
使用此杂凑表格,图10进一步说明根据本发明的匹配zig-zag顺序系数的步骤流程。参考图10,首先对要匹配的zig-zag顺序系数(x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x16),计算出其杂凑值,如步骤1001所示。然后以该杂凑值当作该杂凑表格的索引,找出被索引的元素,如步骤1002所示。从该元素的第3个字段里的值y3,也就是位字符串模型在图6A中的号码,判断出该zig-zag顺序系数是否匹配成功,如步骤1003所示。当y3大于0时,表示该匹配成功,因此继续进行步骤1004,根据此y3的值,至图6B的位字符串模型-zig-zag顺序的系数的表格,直接得到其相对应的位字符串。
当y3=0时,表示没有匹配成功,因此直接使用熵编码的程序,例如CAVLD,如步骤1005所示。然后继续进行匹配下一个zig-zag顺序系数的步骤流程。
为验证应用本发明的实际改善的效果,将本发明的模型搜寻式的可变长度编解码方法实现在基于ARM的嵌入式系统(ARM based embedded system)里,其中计有七个测试序列(test sequence),包括Mobile、Foreman Carphone、Silent、News、Highway和Claire。图11是标准的CAVLD程序与本发明的方法对该七个测试序列的实现效果的比较图,其中以内存存取速率(countcycle)来比较。如图11所示,相对于CAVLD程序,对测试序列Highway,本发明改善了14.86%,对测试序列Foreman,本发明改善了12.38%,而对测试序列Mobile,本发明则改善了6.12%。
进而,因为反变换(inverse transformation,IT)与反量化(inversequantization,IQ)的行为是有规律的,并且局限至4×4区块的系数。根据该特性,本发明扩充图6B,包含反量化与反变换之后(after IQ&IT)的区块的系数,建构出新的模型-搜寻表格(pattern-search table),如图12所示。不用经过熵解码和反量化与反变换的程序,就可直接重建反变换后的4×4区块。
根据上述本发明的模型搜寻式的可变长度编解码方法,图13A和图13B是实现图4中解压缩过程和压缩过程的可变长度编译码装置的一个方框示意图,其中,图13A是实现图4中解压缩过程的解压缩模块的一个方框示意图,而图13B是实现图4中压缩过程的压缩模块的一个方框示意图。换言之,该可变长度编译码装置包含解压缩模块1300和压缩模块1310。
参考图13A,解压缩模块1300包括模型搜寻单元1301和熵译码器1305。参考图7的搜寻表格,模型搜寻单元1301经由输入的比特流,来匹配相对应的位字符串模型。若匹配成功,该模型搜寻单元1301从该搜寻表格取得按照zig-zag顺序排列的系数1303。若匹配不成功,该模型搜寻单元1301通知该熵译码器1305直接进行熵译码的程序。
根据本发明,该模型搜寻单元1301可从该比特流中读取一个字节,并当作是该搜寻表格的索引来匹配该相对应的位字符串模型,以取得按照zig-zag顺序排列的系数。
参考图13B,压缩模块1310包括表格搜寻单元1311和熵编码器1315。参考图9的杂凑表格,表格搜寻单元1311匹配输入的zig-zag顺序系数。若匹配成功,则该表格搜寻单元1311从该杂凑表格取得相对应的压缩码之后的比特流1313。若匹配不成功,则该表格搜寻单元1311通知该熵编码器1315直接进行熵编码的程序。
根据本发明,表格搜寻单元1311可从输入的zig-zag顺序系数计算出杂凑值1313,并当作是该杂凑表格的索引来匹配该zig-zag顺序系数。
综上所述,本发明进一步分析位模型与区块之间的相关性,提供了一种模型搜寻式的可变长度编译码方法与装置。可以直接重建4×4或8×8方块,以及反变换之后的4×4区块。而不须经过标准的CAVLD和反量化与反变换的程序。相比标准CAVLD程序,本发明提升了约10%熵编解码的性能。
但是,以上所述仅为本发明的实施例而已,因此不能以此限定本发明实施的范围。凡是在本发明权利要求书的范围内所作的均等变化与修改,都应仍属本发明权利要求书的范围内。
Claims (17)
1、一种模型搜寻式的可变长度编解码方法,该方法包含:
解压缩过程,在该解压缩过程中,在熵译码之前加入模型搜寻机制,来匹配相对应的位字符串模型,并且若该位字符串模型匹配成功时,直接从该模型搜寻机制里获得相对应的按照zig-zag顺序排列的系数,否则使用熵译码程序;以及
压缩过程,在该压缩过程中,在熵编码之前加入表格搜寻机制,来匹配相对应的zig-zag顺序排列的系数,并且若该zig-zag顺序排列的系数匹配成功时,直接获得压缩码后的比特流,否则使用熵编码程序。
2、如权利要求1所述的模型搜寻式的可变长度编解码方法,其中该熵译码程序是译码情境适应性可变长度码。
3、如权利要求1所述的模型搜寻式的可变长度编解码方法,其中该熵编码程序是以情境适应性可变长度码来编码。
4、如权利要求1所述的模型搜寻式的可变长度编解码方法,其中在该解压缩过程中,该模型搜寻机制包括搜寻表格以及位字符串模型-zig-zag顺序的系数的表格。
5、如权利要求4所述的模型搜寻式的可变长度编解码方法,其中该模型搜寻机制匹配相对应的位字符串模型还包含下列步骤:
取出区块,从其位字符串里读取多个位;
以所述多个位的值当作该搜寻表格的索引,找出被索引的元素;
从该元素相对应字段里的值,判断出该相对应的位字符串模型是否匹配成功;以及
当匹配成功时,根据该匹配成功的位字符串模型至该位字符串模型-zig-zag顺序的系数的表格,而得到该相对应的按照zig-zag顺序的系数。
6、如权利要求4所述的模型搜寻式的可变长度编解码方法,其中该搜寻表格里的每一元素至少包含四个字段,所述四个字段分别为索引、被匹配成功的位个数、被匹配成功的位字符串模型、以及该位字符串模型的号码。
7、如权利要求4所述的模型搜寻式的可变长度编解码方法,其中该位字符串模型-zig-zag顺序的系数的表格里的每一元素至少包括三个字段,所述三个字段分别为位字符串模型的号码、该位字符串模型、以及该位字符串模型一系列的相对应的按照zig-zag顺序的系数。
8、如权利要求5所述的模型搜寻式的可变长度编解码方法,其中该被读取的多个位为8个位。
9、如权利要求7所述的模型搜寻式的可变长度编解码方法,其中该位字符串模型-zig-zag顺序的系数的表格里的每一元素还包括一个字段,该字段包含反量化与反变换后的区块的系数。
10、如权利要求1所述的模型搜寻式的可变长度编解码方法,其中在该压缩过程中,该表格搜寻机制使用一种杂凑技术建构出杂凑表格。
11、如权利要求10所述的模型搜寻式的可变长度编解码方法,其中该杂凑表格由256个元素所构成,每一该元素至少包括四个字段,所述四个字段分别为索引、zig-zag顺序系数、位字符串模型的号码、与位字符串模型。
12、如权利要求10所述的模型搜寻式的可变长度编解码方法,其中该匹配zig-zag顺序系数还包含下列步骤:
对该匹配的zig-zag顺序系数,计算出其杂凑值;
以该杂凑值当作该杂凑表格的索引,找出被索引的元素;
从该元素的字段里的值,判断出该zig-zag顺序系数是否匹配成功;以及
当匹配成功时,根据该值,搜寻该位字符串模型-zig-zag顺序的系数的表格,直接得到该压缩编码后的比特流。
13、一种模型搜寻式的可变长度编译码装置,该装置包含:
解压缩模块,备有模型搜寻单元和熵译码器,参考搜寻表格,该模型搜寻单元经由输入的比特流,来匹配相对应的位字符串模型,若该匹配成功,则该模型搜寻单元从该搜寻表格取得对应的zig-zag顺序排列系数,若该匹配不成功,则该模型搜寻单元通知该熵译码器进行熵译码的程序;以及
压缩模块,备有表格搜寻单元和熵编码器,参考杂凑表格,该表格搜寻单元匹配输入的zig-zag顺序系数,若匹配成功,则该表格搜寻单元从该杂凑表格取得相对应的压缩码之后的比特流,若匹配不成功,则该表格搜寻单元通知该熵编码器进行熵编码的程序。
14、如权利要求13所述的模型搜寻式的可变长度编译码装置,其中该搜寻表格里的每一元素至少包含四个字段,所述四个字段分别为索引、被匹配成功的位个数、被匹配成功的位字符串模型、以及该位字符串模型的号码。
15、如权利要求13所述的模型搜寻式的可变长度编译码装置,其中该杂凑表格由256个元素构成,每一个该元素至少包括四个字段,所述四个字段分别为索引、zig-zag顺序系数、位字符串模型的号码、与位字符串模型。
16、如权利要求14所述的模型搜寻式的可变长度编译码装置,其中该模型搜寻单元以该比特流中的一个字节,作为该搜寻表格的索引来匹配该相对应的位字符串模型。
17、如权利要求15所述的模型搜寻式的可变长度编译码装置,其中该表格搜寻单元从该输入的zig-zag顺序系数计算出杂凑值,作为该杂凑表格的索引来匹配该输入的zig-zag顺序系数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200610092760 CN101090501B (zh) | 2006-06-13 | 2006-06-13 | 模型搜寻式的可变长度编解码方法与装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200610092760 CN101090501B (zh) | 2006-06-13 | 2006-06-13 | 模型搜寻式的可变长度编解码方法与装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101090501A true CN101090501A (zh) | 2007-12-19 |
CN101090501B CN101090501B (zh) | 2010-05-12 |
Family
ID=38943622
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200610092760 Active CN101090501B (zh) | 2006-06-13 | 2006-06-13 | 模型搜寻式的可变长度编解码方法与装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101090501B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103139566A (zh) * | 2011-11-30 | 2013-06-05 | 英特尔移动通信有限责任公司 | 用于可变长度码的高效解码的方法 |
CN104156990A (zh) * | 2014-07-03 | 2014-11-19 | 华南理工大学 | 一种支持特大型数据窗口的无损压缩编码方法及系统 |
CN104301725A (zh) * | 2014-07-14 | 2015-01-21 | 广东工业大学 | 一种基于索引查找cavld方法 |
WO2024078252A1 (zh) * | 2022-10-11 | 2024-04-18 | 华为技术有限公司 | 特征数据编解码方法及相关装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100402541B1 (ko) * | 1996-11-06 | 2003-10-22 | 마쯔시다덴기산교 가부시키가이샤 | 화상 부호화 방법, 화상 복호화 방법 및 화상 복호화 장치 |
US20010030615A1 (en) * | 2000-03-03 | 2001-10-18 | Minhua Zhou | Variable length decoding system and method |
CN1589023A (zh) * | 2004-08-06 | 2005-03-02 | 联合信源数字音视频技术(北京)有限公司 | 一种基于上下文的多码表变长编解码方法及编解码装置 |
CN1780398A (zh) * | 2004-11-18 | 2006-05-31 | 上海乐金广电电子有限公司 | Cavlc解码方法 |
-
2006
- 2006-06-13 CN CN 200610092760 patent/CN101090501B/zh active Active
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103139566A (zh) * | 2011-11-30 | 2013-06-05 | 英特尔移动通信有限责任公司 | 用于可变长度码的高效解码的方法 |
CN103139566B (zh) * | 2011-11-30 | 2016-06-15 | 英特尔移动通信有限责任公司 | 用于可变长度码的高效解码的方法 |
CN104156990A (zh) * | 2014-07-03 | 2014-11-19 | 华南理工大学 | 一种支持特大型数据窗口的无损压缩编码方法及系统 |
CN104156990B (zh) * | 2014-07-03 | 2018-02-27 | 华南理工大学 | 一种支持特大型数据窗口的无损压缩编码方法及系统 |
CN104301725A (zh) * | 2014-07-14 | 2015-01-21 | 广东工业大学 | 一种基于索引查找cavld方法 |
WO2024078252A1 (zh) * | 2022-10-11 | 2024-04-18 | 华为技术有限公司 | 特征数据编解码方法及相关装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101090501B (zh) | 2010-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6894628B2 (en) | Apparatus and methods for entropy-encoding or entropy-decoding using an initialization of context variables | |
US7564384B2 (en) | Binarizing method and device thereof | |
US7898445B2 (en) | Entropy coding apparatus | |
US7365659B1 (en) | Method of context adaptive binary arithmetic coding and coding apparatus using the same | |
CN108028919A (zh) | 用于图像与视频编解码中语法元素的上下文建模的方法及装置 | |
Moon et al. | An efficient decoding of CAVLC in H. 264/AVC video coding standard | |
US20170195692A1 (en) | Video data encoding and decoding methods and apparatuses | |
CN1695168A (zh) | 视频信息编码方法和视频信息解码方法 | |
JP2014525183A (ja) | 2dマトリクスにエンコーディングパラメータを保存する画像圧縮のための方法および装置 | |
CN103098469A (zh) | 用于对变换系数进行熵编码/熵解码的方法和设备 | |
CN1825978A (zh) | 利用基数近似或利用差分码和转义码的帧压缩 | |
Le et al. | Mobilecodec: neural inter-frame video compression on mobile devices | |
US7373001B2 (en) | Compressed moving image decompression device and image display device using the same | |
CN101090501B (zh) | 模型搜寻式的可变长度编解码方法与装置 | |
CN1251492C (zh) | 利用基数近似或利用差分码和转义码的帧压缩 | |
US10070127B2 (en) | Method and apparatus for arithmetic coding and termination | |
US20050157937A1 (en) | Moving image compression device and imaging device using the same | |
TWI314820B (en) | Pattern-search based method for context-adaptive variable length coding/decoding | |
CN110324639B (zh) | 用于视频数据的高效熵编码的技术 | |
CN100551064C (zh) | 变长编码方法及装置 | |
CN102638680B (zh) | 基于硬件的cabac编码方法及系统 | |
CN109672891B (zh) | Jpeg图像的无损二次压缩方法 | |
CN101005625B (zh) | 可变长度编码方法以及可变长度解码方法 | |
CN100592799C (zh) | 基于h.264标准运动补偿的数据快速读取方法 | |
CN118450131A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |