CN104104950A - 一种模式信息的编解码方法及装置 - Google Patents
一种模式信息的编解码方法及装置 Download PDFInfo
- Publication number
- CN104104950A CN104104950A CN201310310158.4A CN201310310158A CN104104950A CN 104104950 A CN104104950 A CN 104104950A CN 201310310158 A CN201310310158 A CN 201310310158A CN 104104950 A CN104104950 A CN 104104950A
- Authority
- CN
- China
- Prior art keywords
- syntactic element
- pattern information
- binaryzation
- value
- maximum quantity
- 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
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明公开了一种模式信息的编解码方法及装置。解码方法包括从码流中获取语法元素A,并由所述语法元素A获取所述模式信息种类的最大数量;由最大数量决定语法元素B反二值化过程,通过反二值化得到所述模式信息。编码方法包括使用语法元素A表示所述模式信息种类的最大数量M,使用语法元素B表示所述模式信息的值,并根据所述模式信息种类的最大数量M决定语法元素B的二值化过程并将语法元素B二值化为bin串;将所述语法元素A和语法元素B的二值化结果写入码流。本发明解决了现有技术中需要在编解码端事先约定模式信息种类的最大数量而导致编解码效率较低且可拓展性、易修改性差的技术问题。
Description
技术领域
本发明涉及多媒体通信领域,具体而言,涉及一种视频序列模式信息的编解码方法及其对应的装置。
背景技术
●视频编码分层结构
采用H.264/AVC以及最新的HEVC等编码标准时,一帧图像可以划分为多个条带(slice),对每个条带分别进行编码和解码。编码条带产生条带码流,条带码流中同时包含了这个条带的一些编码参数,如该条带所引用的参数集序号等。在H.264/AVC中的分层结构中,使用了图像参数集和序列参数集两级参数集来描述视频序列的一些参数。序列参数集可以被图像参数集引用,图像参数集可以被条带引用,通过此机制,条带可以根据其含有的图像参数集序号,找到对应序号的图像参数集,进而找到其对应的图像参数集对应的序列参数集,从图像参数集或者序列参数集中获取参数。例如,条带能够根据其含有的图像参数集序号,在对应序号的图像参数集中获取该条带的帧序号等信息;条带能够根据其对应的图像参数集所含有的序列参数集序号,在对应序号的序列参数集中获取该条带所使用的编码档次(Profile)和编码级别(Level)等参数。在HEVC编码标准中,新加入了视频参数集的概念,视频参数集可以被序列参数集引用,序列参数集可以被图像参数集引用,图像参数集可以被条带引用,通过此机制,条带可以根据其含有的图像参数集序号,逐层向上引用,从图像参数集、序列参数集或者视频参数集中获取参数。
●模式信息
在视频压缩技术中,存在着各种各样的模式信息,如一个预测单元的预测模式,用来表示该预测单元是使用帧内预测还是帧间预测,以及哪一种帧内预测/帧间预测;再比如,当使用链码来表达轮廓的时候,需要传递方向信息,即轮廓中的下一个像素到其上一个像素的方向,方向信息也是模式信息的一种。
方向信息需要被编码并写入码流中,因此如何高效的编码模式信息,进而实现高效视频编码,是一个值得研究的问题。
一般来讲,在视频压缩技术中,支持的模式数越多,会带来两方面的好处:一方面,模式数越多,编码端可以尝试的模式就越多,如上文提到的预测模式,以帧内预测为例,编码端可以在支持的模式中选择一个预测效果最好的模式,当可能的帧内预测模式数越多的时候,编码端就有更高的可能性选择到预测效果更好的模式;另一方面,模式数越多,视频压缩技术的功能性往往更完善,例如上文提到的轮廓编码,理论上,七个相对方向(即可能的模式数有七个)链码可以达到轮廓的无损编码,当支持的方向数较少的时候,对于某些方向改变剧烈的轮廓,就无法达到无损编码。
然而,一般而言,可能的模式数越多,根据信息论的理论,模式信息的信息熵越大,即不确定性越大,就需要更多的比特数来表达该模式。
现有的技术中,往往是编解码端事先约定一个最大模式数,该最大模式数不需要在码流中进行传输,因此最大模式数不需要占用任何的码率。然而,在有些应用中,往往不需要如此多的模式数,例如有些要求实时快速压缩的应用中,编码器一般不会尝试太多模式,再比如有些不要求轮廓无损的应用中,上文提到的链码就可以用更少的方向来表达。甚至对于同一个应用,由于不同序列(甚至是同一序列的不同帧、同一帧的不同块)的图像性质不同,如纹理复杂度不同等,每个块最优编码需要的模式数也不同。此时,如果依然按照事先约定的最大模式数去传输模式信息,有时就会在表达模式信息的时候造成无谓的开销,进而带来码率的浪费,不利于编码效率的提高。此外,由于现有技术是事先约定一个最大模式数,这种方法的可拓展性和易修改性都不理想,如某种应用场景需要更多的模式数才能满足该应用的要求,那么该应用就无法使用该视频编码技术了。
●二值化
语法元素在写入码流前要先经过二值化的步骤,二值化指的是将每个非二进制的语法元素值映射成一个bin串,所有的bin串都不全相同。二值化的方法有很多,常见的有一元码,截断一元码,指数哥伦布码和定长码等二值化方法。当某个语法元素的含义是某种模式信息的值的时候,当该模式信息种类的最大数量,即模式信息的值可能的数量改变的时候,根据二值化方法的不同,二值化的结果可能也会随之改变。例如对于定长码,假设模式信息种类的最大数量为M,则每种模式都会被二值化为Ceiling(log2M)个bin,其中Ceiling(log2M)表示对log2M进行向上取整运算,例如,当M为2的时候,只需要1个bin即可表示该模式,而当M为3或者4的时候,就需要2个bin来表示该模式,当M为5至8的时候,就需要3个bin来表示该模式。显然,当M改变的时候,模式二值化之后的bin的个数有可能会发生改变。类似的,截断一元码的二值化的结果也会随M的改变而改变。与之相对的,一元码和指数哥伦布码的二值化结果是不会随M的改变而改变的。此外,还有很多种二值化的方法,其二值化的结果可能与M有关,也可能与M无关,在此不再一一赘述。
由bin串获取语法元素的值的过程称为反二值化。反二值化的过程即为一个查表的过程,每个bin串都唯一对应一个语法元素值,通过查二值化的表可以找出要解析的bin串对应的语法元素值。解析bin串的过程是一个寻找一个可以反二值化的bin串的过程,即如果当前已解析的bin串可以反二值化为一个语法元素,解析bin串完毕;否则,继续解析下一个bin,直到bin串可以反二值化为一个语法元素。与二值化类似,反二值化的过程可能受到模式信息种类的最大数量M的影响(例如定长码和截断一元码),也可能不受到M的影响(例如一元码和指数哥伦布码)。此外,还有很多种反二值化的方法,其反二值化的过程可能与M有关,也可能与M无关,在此不再一一赘述。
二值化后的bin串可以直接写入码流,也可以经过熵编码之后再写入码流。熵编码是用在视频编码的最后一个阶段的一种无损压缩方法,其输入是转变为一系列语法元素的视频数据。这些语法元素可以在解码端被解析出来并进一步重建出视频序列。语法元素大致分为两类:预测方法和预测误差。熵编码的作用是将这些语法元素无损的编码入码流中。
因此,当解码器收到码流的时候,可以根据码流中的比特经过熵解码得到语法元素的bin串,再将bin串反二值化得到语法元素的值。这个过程可以称为“解析码流得到语法元素的值”。
●链码
链码是一种描述由轮廓构成的二进制图像的有效手段,其被广泛应用到基于形状的模式识别、形状分析、轮廓及二进制图像的压缩与重建等领域,也可以被应用在视频编码中,用于轮廓表达等。链码的基本思想是识别和存储轮廓上每一个像素到其近邻像素的方向码,常用的链码有:Freeman链码、顶点链码、角度差Freeman链码、基于顶点链码及Huffman编码思想的压缩顶点链码等。
一般而言,链码由起始点和方向信息两部分构成,其中起始点表示该轮廓的起始位置,而方向信息则表示该轮廓自起始位置开始,轮廓中的下一个像素到其上一个像素的方向。该方向可以是绝对方向,也可以是相对方向。以经典的角度差Freeman链码为例,该链码包含八个码值,分别表示八个相对方向,自0-7分别表示0°、45°、-45°、90°、-90°、135°、-135°、180°,利用Freeman链码,可以无损表达任意轮廓信息。
发明内容
本发明针对现有技术的不足,提出了一种模式信息的编解码方法及装置。
本发明的主要思想是将模式信息种类的最大数量和模式信息的值一起在码流中进行传输,虽然传输模式信息种类的最大数量会花费一些码率,但是一方面,模式信息种类的最大数量不一定需要对于每一个编码单元都进行传输,可以为每序列传递一次或者每帧传递一次,因此其花费的码率是非常有限的;另一方面,与编解码端实现约定好的模式信息种类最大数量相比,如果码流中传输的模式信息种类的最大数量较小,则模式信息的信息熵会减小,编码模式信息需要的码率就会降低。因此,总体而言,本发明提出的方法可以提高编码效率。
本发明的核心思想是根据模式信息种类最大数量的不同,编解码方法和装置中的二值化和反二值化的过程和结果也会不同,以降低编码模式信息需要的码率。如背景技术中所述,即使采用相同的二值化方法,模式信息的种类的最大数量也会影响二值化的结果。
本发明提出的方法和装置,可以适用于任意模式信息,如链码轮廓编码中的方向信息,帧内、帧间预测模式信息等。
本发明提出的编码方法和编码装置中的语法元素,均可以经过熵编码之后写入码流,也可以不经过熵编码。本发明提出的解码方法和解码装置中解析的语法元素,也可以经过熵解码或者不经过熵解码。
本发明的第一目的在于提供一种模式信息的编码方法,其包括以下步骤:
步骤1、使用语法元素A表示所述模式信息种类的最大数量M,其中M为正整数;
步骤2、使用语法元素B表示所述模式信息的值,根据所述模式信息种类的最大数量M决定语法元素B的二值化过程并将语法元素B二值化为bin串;
步骤3、将所述语法元素A和语法元素B的二值化结果写入码流。
所述步骤2中,根据所述模式信息种类的最大数量M决定语法元素B的二值化过程的方法可以为:使用截断值为M的截断一元码对语法元素B进行二值化。
所述步骤3中,若所述模式信息种类的最大数量M已在之前的编码过程中被写入码流且M的值不变,则可以不将所述语法元素A写入码流。
本发明的第二目的在于提供一种模式信息的解码方法,其包括以下步骤:
步骤1、从码流中解析出语法元素A的值,并由所述语法元素A的值获取所述模式信息种类的最大数量M,其中M为正整数;
步骤2、从码流中获取语法元素B对应的bin串,根据M决定反二值化过程,并将所述bin串使用所述反二值化过程进行反二值化得到所述语法元素B,得到所述模式信息。
所述步骤2中,根据M决定反二值化过程的方法可以为使用截断值为M的截断一元码。
本发明的第三目的在于提供一种包含模式信息的视频序列码流,包括:语法元素A和语法元素B,其中语法元素A表示所述模式信息种类的最大数量M,语法元素B表示所述模式信息的值,且语法元素B的二值化过程由M决定,其中M为正整数。
所述语法元素B的二值化过程可以为使用截断值为M的截断一元码进行二值化。
本发明的第四目的在于提供一种模式信息的编码装置,包括:
语法元素A编码模块:根据所述模式信息种类的最大数量M,产生语法元素A以表示所述最大数量M,其中M为正整数;
语法元素B编码模块:产生语法元素B以表示所述模式信息的值,并根据所述模式信息种类的最大数量M决定语法元素B的二值化过程并将语法元素B二值化为bin串;
码流写入模块:将所述语法元素A和语法元素B二值化后的结果写入码流。
所述语法元素B编码模块中,根据所述模式信息种类的最大数量M决定语法元素B的二值化过程的实施方式可以为使用截断值为M的截断一元码对语法元素B进行二值化。
本发明的第五目的在于提供一种模式信息的解码装置,包括:
语法元素A解码模块:从码流中解析出语法元素A的值,并由所述语法元素A的值得到所述模式信息种类的最大数量M,其中M为正整数;
语法元素B解码模块:从码流中获取语法元素B对应的bin串,并根据语法元素A解码模块解码得到的所述模式信息种类的最大数量M,根据M决定语法元素B的反二值化过程,并将所述bin串反二值化所述语法元素B,得到所述模式信息。
所述语法元素B解码模块中根据M决定语法元素B的反二值化过程的实施方式可以为使用截断值为M的截断一元码对语法元素B进行反二值化。
本发明的有益效果如下:
(1)本发明通过将是将模式信息种类的最大数量和模式信息的值一起在码流中进行传输,达到了提高编码效率的目的:虽然传输模式信息种类的最大数量会花费一些码率,但是一方面,模式信息种类的最大数量不一定需要对于每一个编码单元都进行传输,可以为每序列传递一次或者每帧传递一次,因此其花费的码率是非常有限的;另一方面,与编解码端实现约定好的模式信息种类最大数量相比,如果码流中传输的模式信息种类的最大数量较小,则模式信息的信息熵会减小,编码模式信息需要的码率就会降低。因此,总体而言,本发明提出的方法可以提高编码效率。
(2)通过本发明提出的方法和装置,编解码端无需事先约定模式信息种类的最大数量,这给编解码技术带来了更好的扩展性和易修改性,对各类应用有着更好的支持效果。
附图说明
结合附图,本发明的其他特点和优点可从下面通过举例来对本发明的原理进行解释的优选实施方式的说明中变得更清楚。
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明一种视频序列模式信息的编码装置实施例的结构框图;
图2是本发明一种视频序列模式信息的解码装置实施例的结构框图。
具体实施方式
实施例1
本发明实施例提供了一种优选的视频序列模式信息的编码方法。
本实施例提供的视频序列模式信息的编码方法至少包括以下步骤:
步骤1、使用语法元素A表示所述模式信息种类的最大数量M,其中M为正整数;
步骤2、使用语法元素B表示所述模式信息的值,根据所述模式信息种类的最大数量M决定语法元素B的二值化过程并将语法元素B二值化为bin串;
步骤3、将所述语法元素A和语法元素B的二值化结果写入码流。本实施例中,模式信息可举例为链码中的方向信息。具体到本实施例,编码方法至少包括以下步骤:
(1)使用语法元素A表示所述方向信息种类的最大数量M,如可以令A=M;
(2)使用语法元素B表示所述方向信息的值,根据所述方向信息种类的最大数量M决定语法元素B的二值化过程并将语法元素B二值化为bin串;
(3)将所述语法元素A和语法元素B的二值化结果写入码流。
优选的,在所述步骤1中,可以用以下几种方式来使用语法元素A表示方向信息的最大数量M:
(1)所述语法元素A的值等于M;
(2)所述语法元素A的值等于M经过数学运算后的值,所述数学运算包括但不限于加法运算、减法运算、乘法运算、除法运算、对数运算、指数运算、三角函数、取整运算以及以上运算的混合运算;如,可以令A=M-C,其中C为一个常数(如C=1,C=16等),这种方法在M至少等于C的时候可以达到节省码率的目的;又如,可以令A=M/C,其中C为一个常数,这种方法在M一定为C的倍数的时候可以达到节省码率的目的;再如,可以令A=logCM,其中C为一个常数,这种方法在M一定为C的幂次的时候可以达到节省码率的目的;也可以根据以上思想,根据M取值的特性,使用各种运算的结合。
(3)所述语法元素A的值等于所有M可能的取值的序号。例如,若M的取值范围为一些离散的数值,如对于链码中的方向信息,M可以为1,3,7,8,16,则可以将这些值构成一个数组,令A等于对应M值在数组中的序号,如构成数组{1,3,7,8,16},则A=0表示M=1,A=1表示M=3,A=2表示M=7,A=3表示M=8,A=4表示M=16。
优选的,在所述步骤2中,语法元素B可以使用以下方法进行二值化:
(a)截断一元码,截断一元码的二值化方法也与M有关,假设模式信息的值为S,即S可以等于1,2…M,当S小于M的时候,会被二值化为S-1个1以及1个0,当S等于M的时候,会被二值化为M-1个1;例如当M等于3的时候,方向1会被二值化为0,方向2会被二值化为10,方向3会被二值化为11。使用截断一元码进行二值化后的bin串的最大长度为M-1。
(b)其他二值化过程受到M影响的二值化方法,如具有以下特征的二值化方法:
①二值化对象为值为S的模式信息,其中,S=1,2,3…M,M=2K+1,K为大于1的正整数。
②二值化后的bin串由A和B两部分组成,其中A部分为值为floor(S/2)的截断值为K的截断一元码,若S=1,则B部分不存在,否则,B部分为长度为1的bin串,且若S为偶数,则B部分为c1,若S为奇数,则B部分为c0;
③当S>1时,若L≥Imax,则B部分是bin串的第Imax个bin,否则B部分是bin串的第L+1个bin,其中L为A部分的长度且L为正整数,Imax为事先约定好的正整数,且1<Imax≤K+1;其中,b0、b1∈{0,1},且b0≠b1,c0、c1∈{0,1},且c0≠c1,floor(S/2)表示对S/2进行向下取整;
使用此方法进行二值化,得到的bin串的最大长度为(M+1)/2。
优选的,在所述步骤3中,语法元素A可以被写入码流中的如下结构中:
(1)视频参数集;
(2)序列参数集;
(3)图像参数集;
(4)条带头;
(5)条带内容。
并且,当所述模式信息种类的最大数量M已在之前的编码过程中被写入码流且M的值不变,则可以不将所述语法元素A写入码流。例如在编码某个编码单元的时候,如果之前已经将模式信息种类的最大数量M写入到码流中的视频/序列/图像参数集中,而当前编码的条带或者编码单元可以通过参数集引用机制获取到视频/序列/图像参数集中的模式信息种类的最大数量M,则在编码当前编码单元的时候,就可以不将语法元素A写入码流,只写入语法元素B即可。
语法元素A除了表示所述模式信息种类的最大数量M,还可以表示模式信息的种类范围,编解码端可以事先约定好如何用语法元素A表示所述模式信息种类的最大数量M以及模式信息的种类范围。如某种模式信息共有编号为1-9的九种模式可以选择,编解码可以做如下的事先约定:当A等于0时,可以选择编号为1、3、4、5的四种模式,即M=4;当A等于1时,可以选择编号为2、6、7、8、9的五种模式,即M=5。根据上面的约定,如果采用截断值为M的截断一元码进行二值化,则编号为1、3、4、5的四种模式可以分别被二值化为b0、b1b0、b1b1b0和b1b1b1,编号为2、6、7、8、9的五种模式可以分别被二值化为b0、b1b0、b1b1b0、b1b1b1b0和b1b1b1b1。其中,b0、b1∈{0,1},且b0≠b1。当然,同样使用截断一元码二值化时,不同模式的顺序也可以有所不同,在此不作赘述。
同时,当A的值不同的时候,模式信息的种类范围可以有一定的重合,如编解码端也可以做如下的事先约定:当A等于0时,可以选择编号为1、3、4、5、8的五种模式,即M=5;当A等于1时,可以选择编号为1、2、6、7、8、9的六种模式,即M=6。同理,如果采用截断值为M的截断一元码进行二值化,则编号为1、3、4、5、8的五种模式可以分别被二值化为b0、b1b0、b1b1b0、b1b1b1b0和b1b1b1b1,编号1、2、6、7、8、9的六种模式可以分别被二值化为b0、b1b0、b1b1b0、b1b1b1b0、b1b1b1b1b0和b1b1b1b1b1。其中,b0、b1∈{0,1},且b0≠b1。通过以上方法,则语法元素A既表示了所述模式信息种类的最大数量M,也表示了模式信息的种类范围。
实施例2
本发明实施例提供了一种视频序列模式信息的解码方法。
本实施例提供的视频序列模式信息的解码方法过程至少包括以下步骤:
步骤1、从码流中解析出语法元素A的值,并由所述语法元素A的值获取所述模式信息种类的最大数量M,其中M为正整数;
步骤2、从码流中获取语法元素B对应的bin串,根据M决定反二值化过程,并将所述bin串使用所述反二值化过程进行反二值化得到所述语法元素B,得到所述模式信息。优选的,在所述步骤1中,语法元素A可以从以下位置被获取:
(1)视频参数集;
(2)序列参数集;
(3)图像参数集;
(4)条带头;
(5)条带内容。
优选的,在所述步骤1中,可以用以下几种方式来由语法元素A的值获取模式信息种类的最大数量M:
(1)模式信息种类的最大数量M等于语法元素A的值;
(2)模式信息种类的最大数量M等于语法元素A经过数学运算后的值,所述数学运算包括但不限于加法运算、减法运算、乘法运算、除法运算、对数运算、指数运算、三角函数、取整运算以及以上运算的混合运算;如,可以令M=A+C,其中C为一个常数(如C=1,C=16等),这种方法在M至少等于C的时候可以达到节省码率的目的;又如,可以令M=A*C,其中C为一个常数,这种方法在M一定为C的倍数的时候可以达到节省码率的目的;再如,可以令M=CA,其中C为一个常数,这种方法在M一定为C的幂次的时候可以达到节省码率的目的;也可以根据以上思想,根据M取值的特性,使用各种运算的结合。
(3)将所述语法元素A的值作为序号,在所有M可能的取值中选择对应序号的值作为M的值。例如,若M的取值范围为一些离散的数值,如对于链码中的方向信息,M可以为1,3,7,8,16,则可以将这些值构成一个数组,令A等于对应M值在数组中的序号,如构成数组{1,3,7,8,16},则A=0表示M=1,A=1表示M=3,A=2表示M=7,A=3表示M=8,A=4表示M=16。
优选的,在所述步骤2中,可以用以下几种方式将所述bin串反二值化所述语法元素B:
(a)截断一元码,截断一元码的反二值化方法也与M有关,反二值化时,会依次处理bin串当中的每一个bin:如果该bin等于0,则该bin串会被反二值化为bin串的长度,并结束反二值化过程;如果该bin等于1,且该bin不是bin串的第M-1个bin,则处理下一个bin;如果该bin等于1,且该bin是bin串的第M-1个bin,则该bin串会被反二值化为M,并结束反二值化过程;例如当M等于7的时候,0会被反二值化为模式1,10会被反二值化为模式2,110会被反二值化为模式3,1110会被反二值化为模式4,11110会被反二值化为模式5,111110会被反二值化为模式6,1111111会被反二值化为模式7。使用截断一元码进行反二值化时,bin串的最大长度为M-1。
(b)其他反二值化过程受到M影响的反二值化方法,如使用以下规则描述的反二值化方法:
①反二值化后的值为S,其中S=1,2,3…M,M=2K+1,K为大于1的正整数;
②若所述bin串的前Imax-1个bin可以用截断值为K的截断一元码反二值化,且反二值化的值为0,K个bin中包含b0,且第一个b0之前的b1的个数为0,则S=1;
③若所述bin串的前Imax-1个bin可以用截断值为K的截断一元码反二值化,且反二值化的值不为0,则S=2A+B,其中,A为所述截断一元码反二值化后的值,且A为正整数,若所述bin串的第L+1个bin为c1,则B=0,否则B=1,其中L为所述截断一元码的长度,L为正整数;
④若所述bin串的前Imax-1个bin不可以用截断值为K的截断一元码反二值化,则S=2C+D,其中,C为则将所述bin串的第Imax个取出后剩余的bin用截断值为K的截断一元码反二值化后的值,且C为正整数,若所述bin串的第Imax个bin为c1,则D=0,否则D=1;
其中,b0、b1∈{0,1},且b0≠b1,c0、c1∈{0,1},且c0≠c1,Imax为事先约定好的正整数,且1<Imax≤K+1。
使用该方法进行反二值化时,bin串的最大长度为(M+1)/2。
通过语法元素A,除了可以得到所述模式信息种类的最大数量M,还可以得到模式信息的种类范围,编解码端可以事先约定好如何用语法元素A表示所述模式信息种类的最大数量M以及模式信息的种类范围。
实施例3
本发明实施例提供了一种优选的包含模式信息的视频序列码流。
所述视频序列码流包括:语法元素A和语法元素B,其中语法元素A表示所述模式信息种类的最大数量M,语法元素B表示所述模式信息的值,且语法元素B的二值化过程由M决定,其中M为正整数。
优选的,语法元素A可以被包含在码流中的如下结构中:
(1)视频参数集;
(2)序列参数集;
(3)图像参数集;
(4)条带头;
(5)条带内容。
优选的,所述语法元素A与所述模式信息种类最大数量的关系包括以下几种:
(1)所述语法元素A的值等于M;
(2)所述语法元素A的值等于M经过数学运算后的值,所述数学运算包括但不限于加法运算、减法运算、乘法运算、除法运算、对数运算、指数运算、三角函数、取整运算以及以上运算的混合运算;
(3)所述语法元素A的值等于所有M可能的取值的序号。
优选的,所述码流中的语法元素B对应的bin串二值化的方法可以有以下几种:
(a)截断一元码。使用截断一元码进行二值化后的bin串的最大长度为M-1。
(b)其他二值化过程受到M影响的二值化方法,如具有以下特征的二值化方法:
①二值化对象为值为S的模式信息,其中,S=1,2,3…M,M=2K+1,K为大于1的正整数。
②二值化后的bin串由A和B两部分组成,其中A部分为值为floor(S/2)的截断值为K的截断一元码,若S=1,则B部分不存在,否则,B部分为长度为1的bin串,且若S为偶数,则B部分为c1,若S为奇数,则B部分为c0;
③当S>1时,若L≥Imax,则B部分是bin串的第Imax个bin,否则B部分是bin串的第L+1个bin,其中L为A部分的长度且L为正整数,Imax为事先约定好的正整数,且1<Imax≤K+1;其中,b0、b1∈{0,1},且b0≠b1,c0、c1∈{0,1},且c0≠c1,floor(S/2)表示对S/2进行向下取整;
使用此方法进行二值化,得到的bin串的最大长度为(M+1)/2。
语法元素A除了表示所述模式信息种类的最大数量M,还可以表示模式信息的种类范围,编解码端可以事先约定好如何用语法元素A表示所述模式信息种类的最大数量M以及模式信息的种类范围。
实施例4
本发明实施例提供了一种优选的一种视频序列模式信息的编码装置。图1为视频序列模式信息的编码装置的一种优选结构示意图。该装置包括三个模块:
1)语法元素A编码模块,输入所述模式信息种类的最大数量M,输出为语法元素A,其完成的功能和实施方式与上述一种视频序列模式信息的编码方法中使用语法元素A表示所述模式信息种类的最大数量M的功能和实施方式相同。
2)语法元素B编码模块,输入所述模式信息种类的最大数量M以及所述模式信息的值,输出为语法元素B二值化后的结果,其完成的功能和实施方式与上述一种视频序列模式信息的编码方法中根据所述模式信息种类的最大数量M决定语法元素B的二值化过程,并将语法元素B二值化以表示所述模式信息的值的功能和实施方式相同。
3)码流写入模块:输入为将所述语法元素A和语法元素B,输出为将所述语法元素A和语法元素B写入后的码流,其完成的功能和实施方式与上述一种视频序列模式信息的编码方法中将所述语法元素A和语法元素B写入码流的功能和实施方式相同。
实施例5
本发明实施例提供了一种优选的一种视频序列模式信息的解码装置。图2为本实施例视频序列模式信息的解码装置的一种优选结构示意图。该装置包括两个模块:
1)语法元素A解码模块,输入为视频序列码流,输出为所述模式信息种类的最大数量M,其完成的功能和实施方式与上述一种视频序列模式信息的解码方法中从码流中解析出语法元素A的值,并由所述语法元素A的值得到所述模式信息种类的最大数量M的功能和实施方式相同。
2)语法元素B解码模块,输入为视频序列码流以及所述模式信息种类的最大数量M,输出为所述模式信息的值,其完成的功能和实施方式与上述一种视频序列模式信息的解码方法中从码流中获取语法元素B对应的bin串,根据M决定语法元素B的反二值化过程,并将所述bin串反二值化所述语法元素B,得到所述模式信息的功能和实施方式相同。
值得注意的是,上述的视频序列模式信息的编码装置和解码装置可以由多种方式实现,例如:
方法一:以电子计算机为硬件附加与所述视频序列模式信息编码方法和解码方法功能相同的软件程序来实现。
方法二:以单片机为硬件附加与所述视频序列模式信息编码方法和解码方法功能相同的软件程序来实现。
方法三:以数字信号处理器为硬件附加与所述视频序列模式信息编码方法和解码方法功能相同的软件程序来实现。
方法四:设计与所述视频序列模式信息编码方法和解码方法功能相同的电路来实现。
上述四种实现所述的视频序列模式信息编码装置和解码装置的方法仅是作为优选的实施方式进行说明,本发明不限于此。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (11)
1.一种模式信息的编码方法,其特征在于,包括以下步骤:
步骤1、使用语法元素A表示所述模式信息种类的最大数量M,其中M为正整数;
步骤2、使用语法元素B表示所述模式信息的值,根据所述模式信息种类的最大数量M决定语法元素B的二值化过程并将语法元素B二值化为bin串;
步骤3、将所述语法元素A和语法元素B的二值化结果写入码流。
2.根据权利要求1的编码方法,其特征在于,所述步骤2中,根据所述模式信息种类的最大数量M决定语法元素B的二值化过程的方法为:使用截断值为M的截断一元码对语法元素B进行二值化。
3.根据权利要求1的编码方法,其特征在于,所述步骤3中,若所述模式信息种类的最大数量M已在之前的编码过程中被写入码流且M的值不变,则可以不将所述语法元素A写入码流。
4.一种模式信息的解码方法,其特征在于,包括以下步骤:
步骤1、从码流中解析出语法元素A的值,并由所述语法元素A的值获取所述模式信息种类的最大数量M,其中M为正整数;
步骤2、从码流中获取语法元素B对应的bin串,根据M决定反二值化过程,并将所述bin串使用所述反二值化过程进行反二值化得到所述语法元素B,得到所述模式信息。
5.根据权利要求4的解码方法,其特征在于,所述步骤2中根据M决定反二值化过程的方法为使用截断值为M的截断一元码。
6.一种包含模式信息的视频序列码流,其特征在于,包括:语法元素A和语法元素B,其中语法元素A表示所述模式信息种类的最大数量M,语法元素B表示所述模式信息的值,且语法元素B的二值化过程由M决定,其中M为正整数。
7.根据权利要求6的视频序列码流,其特征在于,所述语法元素B的二值化过程为使用截断值为M的截断一元码进行二值化。
8.一种模式信息的编码装置,其特征在于,它包括:
语法元素A编码模块:根据所述模式信息种类的最大数量M,产生语法元素A以表示所述最大数量M,其中M为正整数;
语法元素B编码模块:产生语法元素B以表示所述模式信息的值,并根据所述模式信息种类的最大数量M决定语法元素B的二值化过程并将语法元素B二值化为bin串;
码流写入模块:将所述语法元素A和语法元素B二值化后的结果写入码流。
9.根据权利要求8的编码装置,其特征在于,所述语法元素B编码模块中,根据所述模式信息种类的最大数量M决定语法元素B的二值化过程的实施方式为使用截断值为M的截断一元码对语法元素B进行二值化。
10.一种模式信息的解码装置,其特征在于,它包括:
语法元素A解码模块:从码流中解析出语法元素A的值,并由所述语法元素A的值得到所述模式信息种类的最大数量M,其中M为正整数;
语法元素B解码模块:从码流中获取语法元素B对应的bin串,并根据语法元素A解码模块解码得到的所述模式信息种类的最大数量M,根据M决定语法元素B的反二值化过程,并将所述bin串反二值化所述语法元素B,得到所述模式信息。
11.根据权利要求10的解码装置,其特征在于,所述语法元素B解码模块中根据M决定语法元素B的反二值化过程的实施方式为使用截断值为M的截断一元码对语法元素B进行反二值化。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310310158.4A CN104104950B (zh) | 2013-04-12 | 2013-07-19 | 一种模式信息的编解码方法及装置 |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310128632.1 | 2013-04-12 | ||
CN2013101286321 | 2013-04-12 | ||
CN201310128632 | 2013-04-12 | ||
CN201310310158.4A CN104104950B (zh) | 2013-04-12 | 2013-07-19 | 一种模式信息的编解码方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104104950A true CN104104950A (zh) | 2014-10-15 |
CN104104950B CN104104950B (zh) | 2018-03-02 |
Family
ID=51672709
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310310158.4A Active CN104104950B (zh) | 2013-04-12 | 2013-07-19 | 一种模式信息的编解码方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104104950B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108141621A (zh) * | 2015-10-05 | 2018-06-08 | 联发科技股份有限公司 | 一种用于屏幕内容编解码的调色板索引映射编解码的方法和装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1758756A (zh) * | 2005-11-03 | 2006-04-12 | 浙江大学 | 一种用于将待编码数据进行二进制化编码的方法和装置 |
CN101790096A (zh) * | 2009-01-24 | 2010-07-28 | 华为技术有限公司 | 基于二重预测的编解码方法及装置 |
CN102238387A (zh) * | 2011-05-25 | 2011-11-09 | 深圳市融创天下科技股份有限公司 | 一种视频熵编码、熵解码方法、装置及介质 |
CN102404571A (zh) * | 2011-11-22 | 2012-04-04 | 浙江大学 | 视频图像编解码中的二进制化的方法和装置 |
US20120328009A1 (en) * | 2011-06-13 | 2012-12-27 | Hisao Sasai | Image decoding method, image coding method, image decoding apparatus, image coding apparatus, and image coding and decoding apparatus |
-
2013
- 2013-07-19 CN CN201310310158.4A patent/CN104104950B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1758756A (zh) * | 2005-11-03 | 2006-04-12 | 浙江大学 | 一种用于将待编码数据进行二进制化编码的方法和装置 |
CN101790096A (zh) * | 2009-01-24 | 2010-07-28 | 华为技术有限公司 | 基于二重预测的编解码方法及装置 |
CN102238387A (zh) * | 2011-05-25 | 2011-11-09 | 深圳市融创天下科技股份有限公司 | 一种视频熵编码、熵解码方法、装置及介质 |
US20120328009A1 (en) * | 2011-06-13 | 2012-12-27 | Hisao Sasai | Image decoding method, image coding method, image decoding apparatus, image coding apparatus, and image coding and decoding apparatus |
CN102404571A (zh) * | 2011-11-22 | 2012-04-04 | 浙江大学 | 视频图像编解码中的二进制化的方法和装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108141621A (zh) * | 2015-10-05 | 2018-06-08 | 联发科技股份有限公司 | 一种用于屏幕内容编解码的调色板索引映射编解码的方法和装置 |
CN108141621B (zh) * | 2015-10-05 | 2020-06-19 | 联发科技股份有限公司 | 编解码视频数据的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104104950B (zh) | 2018-03-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102238387B (zh) | 一种视频熵编码、熵解码方法、装置 | |
CN102438145A (zh) | 一种基于Huffman编码的图片无损压缩方法 | |
CN105828083A (zh) | 数据流的解码方法及装置 | |
CN103974066B (zh) | 视频编码方法和设备 | |
CN102547260B (zh) | 基于上下文自适应的可变长编码的解码方法及系统 | |
CN116016606A (zh) | 一种基于智慧云的污水处理运维数据高效管理系统 | |
CN104125475A (zh) | 一种多维量子数据压缩、解压缩方法及装置 | |
CN104980764A (zh) | 基于复杂度均衡的并行编解码方法、装置及系统 | |
CN101657973B (zh) | 采用位精度的编码装置和编码方法 | |
CN103227920B (zh) | 一种多通道卫星图像无损压缩方法 | |
CN104104950A (zh) | 一种模式信息的编解码方法及装置 | |
CN100394693C (zh) | 一种变长码的编码和解码方法 | |
CN104349165B (zh) | 高性能变长编解码方法及装置 | |
CN103428502B (zh) | 一种解码方法及解码系统 | |
CN103746701A (zh) | 一种用于Rice无损数据压缩的快速编码选项选择方法 | |
CN103999490A (zh) | 可终止的基于空间树的位置编码和解码 | |
CN103024380B (zh) | 一种数据的熵编码方法和装置 | |
CN104104949B (zh) | 一种方向信息语法元素的熵编解码方法和装置 | |
CN106559085A (zh) | 一种范式哈夫曼解码方法及其装置 | |
US8421655B2 (en) | Apparatus for parallel entropy encoding and decoding | |
KR20200028019A (ko) | 모드 정보를 코딩 및 디코딩하기 위한 방법 및 장치, 그리고 전자 디바이스 | |
CN106533628A (zh) | 一种哈夫曼并行解码方法及其装置 | |
CN116346940B (zh) | 一种智慧海绵城市的监测管理系统 | |
CN102769755B (zh) | 一种视频编解码访存优化系统和方法 | |
WO2024007843A9 (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 |