CN1984336A - 一种二进制化方法及装置 - Google Patents
一种二进制化方法及装置 Download PDFInfo
- Publication number
- CN1984336A CN1984336A CN 200610162163 CN200610162163A CN1984336A CN 1984336 A CN1984336 A CN 1984336A CN 200610162163 CN200610162163 CN 200610162163 CN 200610162163 A CN200610162163 A CN 200610162163A CN 1984336 A CN1984336 A CN 1984336A
- Authority
- CN
- China
- Prior art keywords
- subclass
- symbol
- coding
- binaryzation
- motion vector
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 93
- 239000012141 concentrate Substances 0.000 claims description 8
- 238000006243 chemical reaction Methods 0.000 description 6
- 238000007906 compression Methods 0.000 description 4
- 230000006835 compression Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000013139 quantization Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 206010019133 Hangover Diseases 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000002224 dissection Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
- 230000001629 suppression Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明涉及一种二值化编解码的实现方法及装置。本发明主要包括:首先,将待编码的运动矢量差绝对值符号根据概率分布特性划分为若干个子集,并分别为各个子集分配对应的二进制码字,还为各子集中的各符号分配二进制码字;之后,输出串接起来的各子集及其中各符号对应的二进制码字,作为二值化编码结果。在解码端,则采用与编码端对应的原则进行解码操作。这样,本发明一方面可以很好的利用信源的特性,另一方面还可以有效防止码字长度过长,实验证明在算术编码过程中可以取得较好的压缩效果,从而可以有效提高图像编码的性能。
Description
技术领域
本发明涉及图像编码技术领域,尤其涉及一种运动矢量差绝对值二值化编码技术。
背景技术
数字视频技术在通信、广播、娱乐等社会的各个方面获得了广泛的应用。视频编码是把数字视频信息压缩,以便更有效率的被传送和存储。视频编码是多媒体的核心技术,视频压缩编码标准是数字媒体工业的基础。H.264/AVC(MPEG4-Part10)是ITU-T视频编码专家组(VCEG)和ISO/IECMPEG联合专家组(JVT)共同制定的新一代视频编码标准;另外视频编码标准还有VC-1(前身是WMV-9)和音视频标准组(AVS)制定的视频编码标准AVS1.0-P2等。
MPEG/JVT/VCEG系列视频编码标准基本框架采用基于块的运动补偿和变换编码的混合编码架构,包括帧内预测、帧间预测、变换、量化和熵编码等。帧间预测使用基于块的运动矢量来消除图像间的冗余;帧内预测使用空间预测模式来消除图像内的冗余。再通过对预测残差进行变换和量化消除图像内的视觉冗余。最后,运动矢量、预测模式、量化参数和变换系数用熵编码进行压缩。视频解码过程的基本处理单元是宏块。一个宏块包括一个16×16的亮度样值块和对应的色度样值块。一个宏块由进一步分为块,块的大小有16×8、8×16、8×8、8×4、4×8、4×4等。帧内、帧间预测和变换通常对块进行。
运动矢量(motion Vector,MV)是视频编码帧间预测运动估计运算的输出,为当前块相对于匹配参考块在图像中坐标的偏移量,包括水平运动矢量和垂直运动矢量。运动估计包括整象素运动估计和亚象素运动估计,亚象素包括1/2象素和1/4象素,运动矢量的单位为最小亚象素,如1/4象素,因此运动矢量总是为整数。为了实现更高效的压缩,对运动矢量进一步预测处理,运动矢量预测处理通常基于相邻块运动矢量,预测值被称为运动矢量差,包括水平和垂直两个运动矢量差。运动矢量的单位与运动矢量一致,也通常为最小亚象素,如1/4象素,因此运动矢量差总也是为整数,相应的运动矢量差绝对值为非负整数。
在视频压缩的框架中,对变换量化后的残差系数和运动矢量差等,都需要经过熵编码器进行处理,以达到消除数据间的统计冗余的目的,然后输出到码流中。
所述的熵编码器包括哈夫曼编码器和算术编码器,两种编码器均广泛应用于H.264/AVC、AVS1.0-P2等标准。其中,所述的哈夫曼编码器通过变长编码,将不同概率的符号映射为不同长度的二进制比特串,实现去除统计冗余的目的。所述的算术编码器则是通过将符号序列映射到[0,1)区间上的一个数实现除去统计冗余的目的。
目前应用的算术编码器主要是BAC(Binary Arithmetic Coder,二进制算术编码器),例如,Q-Coder(一种二进制算术编码器),QM-Coder(一种二进制算术编码器),MQ-Coder(一种二进制算术编码器)以及H.264/AVC中的CABAC(Context based Adaptive Binary ArithmeticCoder,基于上下文的自适应二进制算术编码器)。各二进制算术编码器均以二进制比特串为输入,根据比特串中的符号(0,1)的概率实现区间的递归划分,最终将整个比特串映射为码流。
由于二进制算术编码器以二进制串为输入,则如图1所示,在视频压缩的标准(如H.264/AVC标准)中,首先需要对编码数据进行二进制化处理,即为将编码的符号如变换量化后的系数、运动矢量差绝对值等非二进制数据映射为一个二进制串,二进制化处理过程是进行二进制算术编码之前的一个预处理过程。本发明中,二进制化也称为二值化。
目前通常使用的二进制化处理的方法有许多,例如,定长码(fix lengthcode),一元码(unary code),指数哥伦布码(exp-Golomb)等等。下面将分别对各种编码过程进行描述。
(1)定长码
所述的定长码的码字长度是固定的,因此定长码对应的符号集中的符号个数也是有限的,具体数量与定长码长度有关,一般的长为N的定长码表示的符号个数为2N,以8个符号为例,定长码的长度为3,具体如表1所示:
表1
符号 | 码字 |
01234567 | 000001010011100101110111 |
(2)一元码
所述的一元码用连续的1(0)和一个拖尾的0(1)来表示符号,连续1(0)的个数和符号的数值相等,一元码是一种较简单的编码,但是当符号数值比较大的时候,会出现很长的码字串,如表2所示:
表2
符号 | 码字 |
01234567………… | 010110111011110111110111111011111110 |
一元截断码是一元码的一种特殊形式,一元码可以表示的码字数是无限的,但是当码字有限的情况下,一元码最后一个码字的最后一位结束符是冗余的,因此可以去掉,这样的码字叫做一元截断码。其具体形式是,当码字数为N+1时,将一元码的第N+1个符号码字设为连续的1(0),而去掉结束符0(1),此时可以成为N位一元截断码。如表2所示,将符号‘7’的码字修改为“1111111”即为7位一元截断码。
(3)k阶指数哥伦布码
所述的指数哥伦布码由前缀部分和后缀部分构成,其码字个数随着码长的增加而指数增长;对于k阶指数哥伦布码,其前缀部分为连续的‘0’和一个‘1’,将自最左边bit开始读到的前缀的最大连续‘0’的个数计为LeadingZeroBits,由此确定得到后缀部分比特数目为LeadingZeroBits+k,根据读出的后缀比特数解析得到数值bits(LeadingZeroBits+k)。k阶指数哥伦布码解析码字计算式为CodeNum=2LeadingZeroBits+k-2k+bits(LeadingZeroBits+k)。表3分别给出k=0,1,2,3情况下指数哥伦布码字。
表3k阶指数哥伦布码表
阶数 | 码字结构 | CodeNum取值范围 |
k=0 | 1 | 0 |
0 1 x0 | 1~2 | |
0 0 1 x1 x0 | 3~6 | |
0 0 0 1 x2 x1 x0 | 7~14 | |
…… | …… | |
k=1 | 1 x0 | 0~1 |
0 1 x1 x0 | 2~5 | |
0 0 1 x2 x1 x0 | 6~13 | |
0 0 0 1 x3 x2 x1 x0 | 14~29 | |
…… | …… | |
k=2 | 1 x1 x0 | 0~3 |
0 1 x2 x1 x0 | 4~11 | |
0 0 1 x3 x2 x1 x0 | 12~27 | |
0 0 0 1 x4 x3 x2 x1 x0 | 28~59 | |
…… | …… | |
k=3 | 1 x2 x1 x0 | 0~7 |
0 1 x3 x2 x1 x0 | 8~23 | |
0 0 1 x4 x3 x2 x1 x0 | 24~55 | |
0 0 0 1 x5 x4 x3 x2 x1 x0 | 56~119 | |
…… | …… |
解析上述k阶指数哥伦布码时,首先从比特流的当前位置开始寻找直到找到第一个非零比特,并将此过程中找到的零比特个数累计为leadingZeroBits,然后,根据leadingZeroBits计算CodeNum。相应的采用伪代码描述如下:
leadingZeroBits=-1;
for(b=0;!b;leadingZeroBits++)
b=read_bits(1)
CodeNum=2leadingZeroBits+k-2k+read_bits(leadingZeroBits+k)。
以上所述的仅是k阶指数哥伦布码第一种形式。k阶指数哥伦布码这种编码类型还可以有第二种形式。这种形式的k阶指数哥伦布码前缀部分为连续的‘1’和一个‘0’,将自最左边bit开始读到的前缀的最大连续‘1’的个数计为LeadingBits,由此确定得到后缀部分比特数目为LeadingBits+k,根据读出的后缀比特数解析得到数值bits(LeadingBits+k)。k阶指数哥伦布码解析码字计算式为CodeNum=2LeadingBits+k-2k+bits(LeadingBits+k)。表4即是这种形式k=0,1,2,3情况下指数哥伦布码字。
表4
阶数 | 码字结构 | CodeNum取值范围 |
k=0 | 0 | 0 |
1 0 x0 | 1~2 | |
1 1 0 x1 x0 | 3~6 | |
1 1 1 0 x2 x1 x0 | 7~14 | |
…… | …… | |
k=1 | 0 x0 | 0~1 |
1 0 x1 x0 | 2~5 | |
1 1 0 x2 x1 x0 | 6~13 | |
1 1 1 0 x3 x2 x1 x0 | 14~29 | |
…… | …… | |
k=2 | 0 x1 x0 | 0~3 |
1 0 x2 x1 x0 | 4~11 | |
1 1 0 x3 x2 x1 x0 | 12~27 | |
1 1 1 0 x4 x3 x2 x1 x0 | 28~59 | |
…… | …… | |
k=3 | 0 x2 x1 x0 | 0~7 |
1 0 x3 x2 x1 x0 | 8~23 | |
1 1 0 x4 x3 x2 x1 x0 | 24~55 | |
1 1 1 0 x5 x4 x3 x2 x1 x0 | 56~119 | |
…… | …… |
解析这种上述k阶指数哥伦布码时,首先从比特流的当前位置开始寻找直到找到第一个“0”比特,并将此过程中找到的“1”比特个数累计为leadingBits,然后根据leadingBits计算CodeNum。采用伪代码描述如下:
leadingBits=-1;
for(b=1;!b;leadingBits++)
b=read_bits(1)
CodeNum=2leadingBits+k-2k+read_bits(leadingBits+k)。
从上述各种二进制编码方法的具体实现可以看出,在实际应用过程中,各二值化编码的方法均有其局限性,即不能灵活的适应各类信源的分布特性,进行有针对性的二值化编码,这就使得编码的性能受到一定影响。
发明内容
本发明提供了一种二进制化方法及装置,用于在视频编码器中对运动矢量差绝对值进行二进制化编解码操作,以使得二值化后的二进制符号可以很好地适应运动矢量差绝对值的分布特征,从而提高编码的性能。
本发明提供了一种视频编码器中对运动矢量差绝对值的二进制化编码方法,包括:
将运动矢量差绝对值符号按概率分布特性划分为若干个子集,每个子集包括的符号为一个或多个连续的非负整数;
为各子集分配对应的二进制码字;
为各子集中的符号依据各自概率分布进行二进制编码,且在一个子集中所有符号的编码类型一致;
输出串接起来的各子集及其中各符号对应的二进制码字,作为各符号的二值化编码结果。
本发明还提供了一种视频编码器中对运动矢量差绝对值的二进制化编码装置,包括子集划分单元、子集二值化编码单元、子集符号二值化编码单元和二值化结果确定单元,其中:
子集划分单元,用于将运动矢量差绝对值符号根据概率分布特征划分为若干个子集,每个子集包含的符号为一个或多个连续的非负整数;
子集二值化编码单元,为各子集分配对应的二进制码字;
子集符号二值化编码单元,依据各自概率分布对各子集中的符号进行二进制编码,且在一个子集中各符号的编码方法一致;
二值化结果确定单元,输出串接起来的各子集及其中各符号对应的二进制码字,作为各符号的二值化编码结果。
本发明还提供了一种视频解码器中对运动矢量差绝对值的二进制化解码方法,包括:
接收运动矢量差绝对值二值化码字,根据子集编码规则对应的各子集的编码码字与所述二值化码字的最前面的比特段按顺序匹配,确定该运动矢量差绝对值所属子集编号。
根据确定的子集编号,获得该子集包含的符号的编码规则,并根据该编码规则对二值化码字中的其他比特段进行解析,获得子集中的符号;
根据子集划分规则,确定运动矢量差绝对值符号。
本发明还提供了一种视频解码器中对运动矢量差绝对值的二进制化解码装置,包括前缀解析单元、后缀解析单元及符号确定单元,其中:
前缀解析单元,对得到的运动矢量差绝对值二值化码字,根据子集编码规则对应的各子集的编码码字与所述二值化码字的最前面的比特段按顺序匹配,确定该运动矢量差绝对值所属子集编号。
后缀解析单元,根据前缀解析单元确定的子集编号,获得该子集包含的符号的编码规则,并根据该编码规则对二值化码字中的其他比特段进行解析,获得子集中的符号;
符号确定单元,根据子集划分规则,得到运动矢量差绝对值符号。
由上述本发明提供的技术方案可以看出,本发明可以通过调整二进制符号串的前缀和后缀部分,一方面可以灵活适应各种不同信源符号的概率分布特性,达到信源压缩编码的作用,提高编码效率;另一方面,可以避免采用单一码字类型带来的由于符号集内符号太多而导致码字长度过长的影响。同时,该方法可应用于算术编码器的二值化预处理中,通过前缀部分的设计,为算术编码器提供一种有效的分类码字的方法,提高算术码的性能。
附图说明
图1为二进制算术编码器的原理示意图;
图2为本发明提供的编码过程的实施方式示意图;
图3为运动矢量差绝对值分布示意图;
图4为本发明提供的编码装置的实施方式结构示意图;
图5为本发明提供的解码过程的实施方式示意图;
图6为本发明提供的解码装置的实施方式结构示意图。
具体实施方式
本发明的核心是提供一种将编码符号(简称符号)二进制化的实现方法,可以通过调整二进制串的前缀和后缀部分,达到适应不同信源分布特性的目的。
具体一点讲,本发明是将符号映射为二进制比特串,所述的二进制比特串由前缀部分和后缀两部分组成,所述的符号定义为待编码的对象,它可以是一个数字(如1,2,3......)、一个字母(如a,b,c......)或者其他符号。符号的整体构成的集合为符号集。在编码过程中通过某种方法将符号映射为一个二进制的序列表示,该二进制序列为该符号对应的二进制串,也可以称为该符号对应的码字,例如将符号“a”表示为“0011”,“a”为符号,“0011”为“a”对应的二进制串或者码字。
本发明提供的二值化编码过程的实现包括:
首先,根据待编码的符号集的分布特性将其划分为多个子集,并对子集类别分配码字进行编码,将其作为该待编码的符号的前缀部分,即为各个子集分别分配相应的二进制码字,用于标识各子集的码字称为该子集类别的标识码字。具体可以采用一元码编码方法、定长码编码方法、或指数哥伦布码方法或其他可以唯一标识前缀的编码方法实现。
然后,为子集内部的符号分配码字进行编码,将其作为符号的后缀部分,即为各个子集内部的各符号分别分配相应的二进制码字,作为该符号的后缀部分,具体可以采用一元码编码方法、定长码方法或指数哥伦布码编码方法实现。
需要说明的是:如果子集内仅有一个符号,那么后缀部分也可以省略,即仅以不同子集的标识码字标识该符号,但是整个编码过程中,至少有一个子集中含有两个或者两个以上的符号。
本发明适用于视频编码中运动矢量绝对差的二值化。
下面将结合附图本发明实施方案进行详细说明。
运动矢量差预先分为绝对值mvdAbs(即运动适量差的绝对值)和符号位mvdSign(即正或负)两部分,如果mvdAbs为0,对应的二元符号串为‘0’并且不存在mvdSign;否则,mvdAbs后跟着mvdSign。
对运动矢量差绝对值(以下缩写为MVD)的二值化过程具体如下,如图2所示,包括四个步骤:
步骤21:将运动矢量差绝对值符号按概率分布特性划分为若干个子集,每个子集包括一个或多个连续的非负整数;
步骤22:对各子集编码分配对应的二进制码字;
步骤23:对各子集中的符号依据各自概率分布进行二进制编码,且在一个子集中所有符号的编码方法一致;
步骤24:输出串接起来的各子集及其中各符号对应的二进制码字,作为各符号的二值化编码结果。
为便于对上述处理过程的进一步理解,下面将举例对本发明提供的二值化处理过程进行详细说明。
参照图2所示,应用实施例一为:
步骤21:将待编码的MVD划分为若干个子集;
一个典型的MVD分布如图3所示,图中X轴为运动矢量差绝对值,Y轴为分布(对一帧图像编码中所有块的各运动矢量绝对值量的出现次数进行累计)。首先观察图3所示的MVD的分布特性,其中0的分布占有很大的部分,从1到5的分布是一个下降比较快的过程,而从6到20是一个缓慢下降的过程,20以后基本上均匀分布,因此根据这个特点将整个符号集划分为4个子集:0:{0},1:{x|1<=x<6},2:{x|6<=x<21},3:{x|x>=21}。
步骤22:为子集类别分配码字,即为各子集分别分配相应的二进制码字,具体如表5所示:
表5
类别号 | 码字 |
0 | 0 |
1 | 10 |
2 | 110 |
3 | 111 |
;
在表4中分配码字具体是采用一元码编码方法;当然,也可以根据信源符号的分布采用其他二进制编码方法。
步骤23:分别为各子集内部的符号分配相应的二进制码字;
具体为:在为各子集类别分配码字后,还需要对子集内部的符号分配码字,由于子集0中仅有一个符号,故该类仅仅需要子集类别码字;子集1中采用一元码,子集2中采用0阶指数哥伦布码,子集3中采用3阶指数哥伦布码。不同类别中,可以采用相同的编码方法区分类别内部的符号。在各个子集内部,根据子集内部符号概率分布特性,可以采用多种方法分配码字,一般来说,符号概率越大,分配码字的长度越短。一元码和指数哥伦布码是这一准则的简单实现方式,但是方法并不局限于此。
步骤24:将步骤22和步骤23分别为子集及子集内部符号分配的码字串接起来便构成了包含前缀和后缀部分的二值化后编码信息;
仍以表4中分配完前缀部分的符号为例,之后再经步骤23中为各子集中的符号分配码字后的比特串如表6所示:
表6
类别号 | 符号 | 码字 |
前缀后缀 | ||
0 | 0 | 0 |
1 | 12345 | 10 010 0110 00110 000110 0000 |
2 | 678……20 | 110 0110 010110 011……110 0001111 |
3 | 2122 | 111 0000111 0001 |
至此,便获得了待符号的二值化编码后的处理结果。
在不同的视频编码标准中,以及不同的编码档次场合中(如隔行扫描与逐行扫描应用情况),运动矢量差绝对值分布特征有一定差异,相应的子集划分方法及编码方法可以部分调整,如例二。
仍参见图2所示,应用实施例二为:
步骤21:将待编码的运动矢量差绝对值划分为若干个子集;
根据运动矢量差绝对值的分布特性,整个符号集划分为3个子集:0:{0},1:{x|1<=x<9},2:{x|x>=9};
步骤22:为子集类别分配码字,即为各子集分别分配相应的二进制码字,具体分配方式如下表7:
表7
类别号 | 码字 |
0 | 0 |
1 | 10 |
2 | 11 |
在表6中分配码字具体是采用一元截断码编码方法;当然,也可以根据信源符号的分布采用其他二进制编码方法;
步骤23:分别为各子集内部的符号分配相应的二进制码字;
具体为:在为各子集类别分配码字后,还需要对子集内部的符号分配码字,相应的分配方式:
子集0中仅有一个符号,故该类仅仅需要子集类别码字;
子集1中采用一元截断码,多个“0”加最后一个“1”,该子集最后一个符号的码字去掉最后的“1”;
子集2中采用三阶指数哥伦布码,具体采用发明背景所述第二种形式的k(k=3)阶指数哥伦布码。
同一个子集中符号编码采用相同的编码方法。在各个子集内部,根据子集内部符号概率分布特性,可以采用多种方法分配码字,一般来说,符号概率越大,分配码字的长度越短。一元码截断码和指数哥伦布码是这一准则的简单实现方式,但是方法并不局限于此。
步骤24:将步骤22和步骤23分别为子集及子集内部符号分配的码字串接起来便构成了包含前缀和后缀部分的二值化后编码信息;
以表6中分配完前缀部分的符号为例,之后再经步骤23中为各子集中的符号分配码字后的比特串见表8:
表8
类别号 | 符号 | 码字 |
前缀后缀 | ||
0 | 0 | 0 |
1 | 12345678 | 10 010 0110 00110 000110 0000110 00000110 000000110 0000000 |
2 | 91011…… | 11 000011 000111 0010…… |
至此,便获得了待符号的二值化编码后的处理结果。
本发明还提供了运动矢量差绝对值二值化编码装置,其具体实施结构如图4所示,具体包括子集划分单元、子集二值化编码单元、子集符号二值化编码单元及二值化结果确定单元,其中:
(1)子集划分单元
该单元用于将需要进行二值化处理的运动矢量差绝对值按概率分布特征划分为若干个子集,每个子集包括一个或多个连续的非负整数,具体的划分方式前面已经举例描述,在此不再赘述;
(2)子集二值化编码单元
用于为各个子集分别分配对应的二进制码字;
在该单元中,所述的为各个子集分配对应的二进制码字可以采用定长码方法或变长码方法;其中,所述的定长码方法具体可以包括但不限于:一元码截断码;
(3)子集符号二值化编码单元
分别为各子集内部的各符号分配二进制码字;一个子集中所有符号的编码规则一致,编码方法依据该子集中符号的概率分布特性。
在该单元中,所述的为子集内部的符号分配对应的二进制码字可以采用定长码方法或变长码方法;其中,所述的变长码方法具体可以包括但不限于:一元截断码方法、指数哥伦布码方法。不同子集中符号的编码方法可以不同。
(4)二值化结果确定单元
用于将各子集及其内部的各符号对应的二进制码字串接起来,并作为需要进行二值化处理的各符号对应的二值化编码结果。
本发明还提供了运动矢量差绝对值二值化解码的具体实施方案,二值化解码是二值化编码的逆过程,下面将对该二值化解码方案的具体实施方式进行简要地说明。
如图5所示,所述的二值化解码的实现方法的实施例包括:
步骤51:前缀解析
对算术解码得到的运动矢量差绝对值二值化码字,根据预先配置的子集编码规则获得子集对应的编码码字,用子集对应的编码码字依次与所述二值化码字的最前面的bit段匹配,若某个码字匹配上,则对应二值化码字的bit段为前缀,剩余bit段为后缀。由前缀根据对应的子集编码方法解析得到所属子集编号。
如对应于前述编码例子,如果输入的运动矢量差绝对值二值化码字为“110001”,子集编码规则为一元截断码,共有三个子集码字“0”、“10”“11”,依次用这三个子集码字与二值化码字为“110001”的最前面的bit段匹配,匹配出的前缀为“11”,剩余部分为后缀“0001”。根据子集编码规则,解析前缀“11”可得到所属子集编号“2”。
步骤52:后缀解析
根据所属子集类型,获得该子集符号的编码规则,根据该编码规则,对后缀进行解析,获得子集中的符号。
如对应步骤51中例子,获得子集2编码方法为3阶指数哥伦布码方法,按该方法解析后缀“0001”,可得到该符号为“1”(即为该子集第2个符号)
步骤53:根据子集划分规则,得到运动矢量差绝对值符号。
如对应于前述编码例二,由于已知子集2为{x|x>=9},该子集中符号“1”对应的运动矢量差绝对值符号为“1”+“9”,即为十进制数“10”。
本发明还提供了相应的二值化解码装置,其具体实施结构如图6所示,具体包括:
(1)前缀解析单元
对算术解码得到的运动矢量差绝对值二值化码字,根据预先配置的子集编码规则获得子集对应的编码码字,用子集对应的编码码字依次与所述二值化码字的最前面的bit段匹配,若某个码字匹配上,则对应二值化码字的bit段为前缀,剩余bit段为后缀;根据确定的前缀及对应的子集编码方法解析得到所属子集编号;
如前面相应的应用实例的描述,在此,所述的子集编码规则具体可以是将运动矢量差绝对值符号分为3个子集,其中:子集1包括0,子集2包括大于等于1且小于N的非负整数,子集3包括其他所有大于等于N的非负整数,所述的N的取值为大于4且小于16;该前缀解析单元根据该规则便可以分别与3个子集的编号(即编码码字)进行匹配,以实现前缀解析处理。
(2)后缀解析单元
根据所属子集类型,获得该子集符号的编码规则,根据该编码规则,对后缀进行解析,获得子集中的符号;
参照前面描述的实例,所述的子集包含的符号的编码规则具体可以为:子集1中符号0编码为0,则二值化结果也为0;子集2中符号采用一元截断码进行二进制编码;子集3中符号采用3阶哥伦布码编码进行二进制编码;依据该编码规则合夥中以解码获得相应的符号。
(3)符号确定单元
基于上述解析结果根据子集划分规则,得到运动矢量差绝对值符号。
该装置的具体应用实例参见上述二值化解码的实现方法中描述的应用举例,在此不再详述。
通过图2所示的编码处理过程可以看出,本发明所述的方法一方面可以很好的利用信源的特性,另一方面还可以有效防止码字长度过长,实验证明在算术编码过程中可以取得较好的压缩效果。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (18)
1、一种视频编码器中对运动矢量差绝对值的二进制化编码方法,其特征在于,包括:
将运动矢量差绝对值符号按概率分布特性划分为若干个子集,每个子集包括的符号为一个或多个连续的非负整数;
为各子集分配对应的二进制码字;
对各子集中的符号依据各自概率分布进行二进制编码,且在一个子集中所有符号的编码类型一致;
输出串接起来的各子集及其中各符号对应的二进制码字,作为各符号的二值化编码结果。
2、根据权利要求1所述的方法,其特征在于,所述的各子集中至少有一个子集中包含至少两个符号,且当子集中仅包含一个符号时,则不为该符号分配二进制码字。
3、根据权利要求1所述的方法,其特征在于,所述的为各个子集分配对应的二进制码字采用的是定长码方法或变长码方法;所述的变长码包括一元截断码。
4、根据权利要求1所述的方法,其特征在于,所述的子集中符号的编码类型包括:
对于符号数为两个以上的子集,采用变长码编码方法,包括一元截断码、哈夫曼码和指数哥伦布码。
5、根据权利要求1、2、3或4所述的方法,其特征在于,所述的运动矢量差绝对值符号按概率分布特性被划分为3个子集:子集1包括0,子集2包括大于等于1且小于N的非负整数,子集3包括其他所有大于等于N的非负整数,所述的N的取值为大于4且小于16。
6根据权利要求5所述的方法,其特征在于,对所述子集1中符号的编码方法为:符号0编码为0,则二值化结果也为0。
7根据权利要求5所述的方法,其特征在于,对所述子集2中符号的编码方法为:采用一元截断码进行二进制编码。
8根据权利要求5所述的方法,其特征在于,对所述子集3中符号的编码方法为:采用3阶哥伦布码编码进行二进制编码。
9、一种视频编码器中对运动矢量差绝对值的二进制化编码装置,其特征在于,包括子集划分单元、子集二值化编码单元、子集符号二值化编码单元和二值化结果确定单元,其中:
子集划分单元,用于将运动矢量差绝对值符号根据概率分布特征划分为若干个子集,每个子集包含的符号为一个或多个连续的非负整数;
子集二值化编码单元,为各子集分配对应的二进制码字;
子集符号二值化编码单元,依据各自概率分布对各子集中的符号进行二进制编码,且在一个子集中各符号的编码方法一致;
二值化结果确定单元,输出串接起来的各子集及其中各符号对应的二进制码字,作为各符号的二值化编码结果。
10、根据权利要求9所述的装置,其特征在于,所述的子集划分单元具体是将运动矢量差绝对值符号按概率分布特性划分为3个子集:子集1包括0,子集2包括大于等于1且小于N的非负整数,子集3包括其他所有大于等于N的非负整数,所述的N的取值为大于4且小于16。
11、根据权利要求10所述的装置,其特征在于,在所述的子集二化编码单元中,子集1中符号0编码为0,则二值化结果也为0。
12、根据权利要求10所述的装置,其特征在于,在所述的子集符号二值化编码单元中,对所述子集2中符号采用一元截断码进行二进制编码,对所述子集3中符号采用3阶哥伦布码编码进行二进制编码。
13、一种视频解码器中对运动矢量差绝对值的二进制化解码方法,其特征在于,包括:
接收运动矢量差绝对值二值化码字,根据子集编码规则对应的各子集的编码码字与所述二值化码字的最前面的比特段按顺序匹配,确定该运动矢量差绝对值所属子集编号。
根据确定的子集编号,获得该子集包含的符号的编码规则,并根据该编码规则对二值化码字中的其他比特段进行解析,获得子集中的符号;
根据子集划分规则,确定运动矢量差绝对值符号。
14.根据权利要求13所述的方法,其特征在于,所述的子集编码规则具体是将运动矢量差绝对值符号分为3个子集:子集1包活0,子集2包手枪大于等于1且小于N的非负整数,子集3凶手枪其他报有大于等于N的非负整数,所述的N的取值为大于4且小于16。
15、根据权利要求14所述的方法,其特征在于,所述的子集包含的符号的编码规则包括:子集1中符号0编码为0,则二值化结果也为0;子集2中符号采用一元截断码进行二进制编码;子集3中符号采用3阶哥伦布码编码进行二进制编码。
16、一种视频解码器中对运动矢量差绝对值的二进制化解码装置,其特征在于,包括前缀解析单元、后缀解析单元及符号确定单元,其中:
前缀解析单元,对得到的运动矢量差绝对值二值化码字,根据子集编码规则对应的各子集的编码码字与所述二值化码字的最前面的比特段按顺序匹配,确定该运动矢量差绝对值所属子集编号。
后缀解析单元,根据前缀解析单元确定的子集编号,获得该子集包含的符号的编码规则,并根据该编码规则对二值化码字中的其他比特段进行解析,获得子集中的符号;
符号确定单元,根据子集划分规则,得到运动矢量差绝对值符号。
17、根据权利要求16所述的装置,其特征在于,所述的子集编码规则具体是将运动矢量差绝对值符号分为3个子集:子集1包括0,子集2包括大于等于1且小于N的非负整数,子集3包括其他所有大于等于N的非负整数,所述的N的取值为大于4且小于16。
18、根据权利要求17所述的装置,其特征在于,所述的子集包含的符号的编码规则包括:子集1中符号0编码为0,则二值化结果也为0;子集2中符号采用一元截断码进行二进制编码;子集3中符号采用3阶哥伦布码编码进行二进制编码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200610162163 CN1984336A (zh) | 2005-12-05 | 2006-12-05 | 一种二进制化方法及装置 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200510127531.8 | 2005-12-05 | ||
CN200510127531 | 2005-12-05 | ||
CN 200610162163 CN1984336A (zh) | 2005-12-05 | 2006-12-05 | 一种二进制化方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1984336A true CN1984336A (zh) | 2007-06-20 |
Family
ID=38166487
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200610162163 Pending CN1984336A (zh) | 2005-12-05 | 2006-12-05 | 一种二进制化方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1984336A (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009012681A1 (fr) * | 2007-07-23 | 2009-01-29 | Huawei Technologies Co., Ltd. | Procédé, dispositif et lecture de contenu multimédia pour codage/décodage de vecteurs |
CN101836456B (zh) * | 2007-10-30 | 2012-10-10 | 日本电信电话株式会社 | 图像编码方法和解码方法、其装置、其程序以及记录有程序的记录介质 |
CN102752601A (zh) * | 2012-07-30 | 2012-10-24 | 宁波大学 | 一种m-jpeg图像的传输方法及接收端数据丢包修复方法 |
CN103202016A (zh) * | 2010-10-13 | 2013-07-10 | 高通股份有限公司 | 用于视频译码的自适应运动向量分辨率信令 |
CN103782597A (zh) * | 2011-06-28 | 2014-05-07 | 三星电子株式会社 | 伴随有算术编码的对视频编码的方法和设备以及对视频解码的方法和设备 |
CN104378634A (zh) * | 2013-08-15 | 2015-02-25 | 联发科技股份有限公司 | 输入符号二值化的方法以及从码字中产生索引值的方法 |
CN107371025A (zh) * | 2011-06-24 | 2017-11-21 | 太阳专利托管公司 | 解码方法及解码装置 |
CN108282265A (zh) * | 2018-01-19 | 2018-07-13 | 广东工业大学 | 纠错编码方法、装置、设备及计算机可读存储介质 |
CN112035706A (zh) * | 2019-06-04 | 2020-12-04 | 上海哔哩哔哩科技有限公司 | 编码、解码方法、计算机设备及可读存储介质 |
CN113346911A (zh) * | 2021-06-18 | 2021-09-03 | 安谋科技(中国)有限公司 | 压缩编码方法、电子设备和存储介质 |
CN113868206A (zh) * | 2021-10-08 | 2021-12-31 | 八十一赞科技发展(重庆)有限公司 | 一种数据压缩方法、解压缩方法、装置及存储介质 |
CN114615504A (zh) * | 2020-12-04 | 2022-06-10 | 腾讯科技(深圳)有限公司 | 视频解码方法、视频编码方法、装置及设备 |
WO2023051551A1 (en) * | 2021-09-30 | 2023-04-06 | Beijing Bytedance Network Technology Co., Ltd. | Method, apparatus, and medium for point cloud coding |
-
2006
- 2006-12-05 CN CN 200610162163 patent/CN1984336A/zh active Pending
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009012681A1 (fr) * | 2007-07-23 | 2009-01-29 | Huawei Technologies Co., Ltd. | Procédé, dispositif et lecture de contenu multimédia pour codage/décodage de vecteurs |
CN101836456B (zh) * | 2007-10-30 | 2012-10-10 | 日本电信电话株式会社 | 图像编码方法和解码方法、其装置、其程序以及记录有程序的记录介质 |
CN103202016A (zh) * | 2010-10-13 | 2013-07-10 | 高通股份有限公司 | 用于视频译码的自适应运动向量分辨率信令 |
US10327008B2 (en) | 2010-10-13 | 2019-06-18 | Qualcomm Incorporated | Adaptive motion vector resolution signaling for video coding |
CN103202016B (zh) * | 2010-10-13 | 2016-06-22 | 高通股份有限公司 | 用于视频译码的自适应运动向量分辨率信令 |
CN107371025B (zh) * | 2011-06-24 | 2020-04-14 | 威勒斯媒体国际有限公司 | 解码方法及解码装置 |
CN107371025A (zh) * | 2011-06-24 | 2017-11-21 | 太阳专利托管公司 | 解码方法及解码装置 |
CN103782597A (zh) * | 2011-06-28 | 2014-05-07 | 三星电子株式会社 | 伴随有算术编码的对视频编码的方法和设备以及对视频解码的方法和设备 |
US9554157B2 (en) | 2011-06-28 | 2017-01-24 | Samsung Electronics Co., Ltd. | Method and apparatus for coding video and method and apparatus for decoding video accompanied with arithmetic coding |
US9565455B2 (en) | 2011-06-28 | 2017-02-07 | Samsung Electronics Co., Ltd. | Method and apparatus for coding video and method and apparatus for decoding video accompanied with arithmetic coding |
US9668001B2 (en) | 2011-06-28 | 2017-05-30 | Samsung Electronics Co., Ltd. | Method and apparatus for coding video and method and apparatus for decoding video accompanied with arithmetic coding |
US10547842B2 (en) | 2011-06-28 | 2020-01-28 | Samsung Electronics Co., Ltd. | Method and apparatus for coding video and method and apparatus for decoding video accompanied with arithmetic coding |
US10091510B2 (en) | 2011-06-28 | 2018-10-02 | Samsung Electronics Co., Ltd. | Method and apparatus for coding video and method and apparatus for decoding video accompanied with arithmetic coding |
CN102752601B (zh) * | 2012-07-30 | 2014-10-08 | 宁波大学 | 一种m-jpeg图像的传输方法及接收端数据丢包修复方法 |
CN102752601A (zh) * | 2012-07-30 | 2012-10-24 | 宁波大学 | 一种m-jpeg图像的传输方法及接收端数据丢包修复方法 |
CN104378634A (zh) * | 2013-08-15 | 2015-02-25 | 联发科技股份有限公司 | 输入符号二值化的方法以及从码字中产生索引值的方法 |
CN104378634B (zh) * | 2013-08-15 | 2017-07-07 | 联发科技股份有限公司 | 输入符号二值化的方法以及从码字中产生索引值的方法 |
CN108282265A (zh) * | 2018-01-19 | 2018-07-13 | 广东工业大学 | 纠错编码方法、装置、设备及计算机可读存储介质 |
CN108282265B (zh) * | 2018-01-19 | 2020-11-03 | 广东工业大学 | 纠错编码方法、装置、设备及计算机可读存储介质 |
CN112035706A (zh) * | 2019-06-04 | 2020-12-04 | 上海哔哩哔哩科技有限公司 | 编码、解码方法、计算机设备及可读存储介质 |
CN114615504A (zh) * | 2020-12-04 | 2022-06-10 | 腾讯科技(深圳)有限公司 | 视频解码方法、视频编码方法、装置及设备 |
CN113346911A (zh) * | 2021-06-18 | 2021-09-03 | 安谋科技(中国)有限公司 | 压缩编码方法、电子设备和存储介质 |
WO2023051551A1 (en) * | 2021-09-30 | 2023-04-06 | Beijing Bytedance Network Technology Co., Ltd. | Method, apparatus, and medium for point cloud coding |
CN113868206A (zh) * | 2021-10-08 | 2021-12-31 | 八十一赞科技发展(重庆)有限公司 | 一种数据压缩方法、解压缩方法、装置及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101167366B (zh) | 一种二进制化方法及装置 | |
CN1984336A (zh) | 一种二进制化方法及装置 | |
RU2758981C2 (ru) | Энтропийное кодирование разностей векторов движения | |
US11750826B2 (en) | Context and bypass encoding video | |
US8068043B2 (en) | Method and apparatus for video processing in context-adaptive binary arithmetic coding | |
TWI658702B (zh) | 資料編碼及解碼 | |
CN1214649C (zh) | 用于视频预测残差系数编码的熵编码方法 | |
KR102462386B1 (ko) | 데이터 인코딩 및 디코딩 | |
EP2317476B1 (en) | Multimedia signature coding and decoding | |
CN102238387A (zh) | 一种视频熵编码、熵解码方法、装置及介质 | |
KR20010105629A (ko) | 복수 매핑 테이블을 이용한 가변장 부호화 및 복호화방법과 그 장치 | |
KR20100027385A (ko) | 적응적 이진화를 이용한 영상 부호화, 복호화 방법 및 장치 | |
WO2019011292A1 (en) | METHOD AND APPARATUS FOR RANGE CALCULATION IN CONTEXT-ADAPTIVE BITARY ARITHMETIC ENCODING SYSTEM | |
KR20180040514A (ko) | 부호화 장치, 복호화 장치 및 그 부호화 방법 및 복호화 방법 | |
CN110291793A (zh) | 上下文自适应二进制算术编解码中范围推导的方法和装置 | |
CN102638680B (zh) | 基于硬件的cabac编码方法及系统 | |
RU2776910C1 (ru) | Энтропийное кодирование разностей векторов движения | |
RU2820857C2 (ru) | Энтропийное кодирование разностей векторов движения | |
Kim et al. | Optimized Transform Entropy Decoding Architecture for VDC-M | |
Lee et al. | A Memory-Efficient VLC Decoder Architecture for MPEG-2 Application |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20070620 |